gpt4 book ai didi

python - 在子目录 Python 中创建文件?

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:24 26 4
gpt4 key购买 nike

在我的 Python 脚本中,我需要在不更改目录的情况下在子目录中创建一个新文件,并且我需要从当前目录不断地编辑该文件。

我的代码:

os.mkdir(datetime+"-dst")

for ip in open("list.txt"):
with open(ip.strip()+".txt", "a") as ip_file: #this file needs to be created in the new directory
for line in open("data.txt"):
new_line = line.split(" ")
if "blocked" in new_line:
if "src="+ip.strip() in new_line:
#write columns to new text file
ip_file.write(", " + new_line[11])
ip_file.write(", " + new_line[12])
try:
ip_file.write(", " + new_line[14] + "\n")
except IndexError:
pass

问题:

目录和文件的路径并不总是相同的,这取决于我从哪个服务器运行脚本。目录名称的一部分将是创建时的日期时间,即 time.strftime("%y%m%d%H%M%S") + "word" 而我不是如果时间不断变化,确定如何调用该目录。我以为我可以使用 shutil.move() 在创建文件后移动文件,但日期时间戳似乎会带来问题。

我是一名初级程序员,老实说我不知道​​如何解决这些问题。我正在考虑将变量分配给目录和文件,但日期时间让我感到困惑。

问题:如果文件和子目录的名称/路径不总是相同,如何在子目录中创建文件?

最佳答案

将创建的目录存储在一个变量中。 os.mkdir 如果该名称的目录存在则抛出。使用 os.path.join 将路径组件连接在一起(它知道是使用 / 还是 \)。

import os.path

subdirectory = datetime + "-dst"
try:
os.mkdir(subdirectory)
except Exception:
pass

for ip in open("list.txt"):
with open(os.path.join(subdirectory, ip.strip() + ".txt"), "a") as ip_file:
...

关于python - 在子目录 Python 中创建文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18388368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com