在文件夹中自动创建文件(Python)

BlueTrack

问题是:我必须自动将文件创建到以前自动创建的某些文件夹中。

让我更好地解释。首先,我发布用于创建文件夹的代码。

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()

我怎样才能“组合”在一起?首先创建文件夹,然后立即创建其中的文件吗?

谢谢。如果仍不清楚,请随时询问。

麻烦

是的,只需创建一个目录,然后立即在其中创建一个文件即可。默认情况下,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')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章