2017-07-12 90 views
2

问题是:我必须以自动方式创建一个文件到某个已经自动创建的文件夹中。在文件夹(Python)中自动创建一个文件

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

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

我该如何“结合”在一起?首先创建文件夹,并立即附近的文件?

谢谢。如果还不清楚,请随时提问。

回答

3

是的,只需创建一个目录,然后立即创建一个文件。 Python中的所有I/O操作都是默认同步的,所以你不会得到任何竞争条件。

产生的代码会(也做了一些improvings你的代码):

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') 
代替硬编码的桌面目录路径
+1

增加了一些改进 – bakatrouble

+0

完美。非常感谢。有用。 – BlueTrack

相关问题