问题是:我必须自动创建一个文件到以前自动创建的文件夹中。
让我更好地解释一下。首先,我发布用于创建文件夹的代码...
import os
from datetime import datetime
timestr = datetime.now().strftime("%Y%m%d-%H%M%S-%f")
now = datetime.now()
newDirName = now.strftime("%Y%m%d-%H%M%S-%f")
folder = os.mkdir('C:\\Users\\User\\Desktop\\' + newDirName)
此代码将在桌面上创建一个文件夹,其中包含时间戳(包含微秒以使其尽可能唯一..)作为名称。
现在我想在文件夹中创建一个文件(例如txt)。我已经有了代码来做...
file = open('B' + timestr, 'w')
file.write('Exact time is: ' + timestr)
file.close()
我怎样才能"结合"这个在一起?首先创建文件夹,并在其附近立即创建文件?
谢谢。如果还不清楚,请随时提问。
答案 0 :(得分:3)
是的,只需创建一个目录,然后立即创建一个文件。默认情况下,Python中的所有I / O操作都是同步的,因此您不会遇到任何竞争条件。
产生的代码(也会对您的代码进行一些改进):
import os
from datetime import datetime
timestr = datetime.now().strftime("%Y%m%d-%H%M%S-%f")
dir_path = os.path.join('C:\\Users\\User\\Desktop', timestr)
folder = os.mkdir(dir_path)
with open(os.path.join(dir_path, 'B' + timestr), 'w') as file:
file.write('Exact time is: ' + timestr)
您还可以通过用
替换硬编码的桌面目录路径,使您的代码(几乎)跨平台os.path.join(os.path.expanduser('~'), 'Desktop')