我正在尝试使用Python中的变量创建一个文件,但它不会拥有它。 以下是创建文件名的代码:
a, b = time.strftime("%d/%m/%Y"), time.strftime("%H-%M-%S")
c = ("SCORE"+"-"+"("+a+")"+"-"+"("+b+")")
c = str(c+".txt")
打印:SCORE-(28/12/2015) - (21-05-09).txt
这是文件名和文件扩展名(.txt)。 所以,我尝试使用这段代码创建一个文件:
file3 = open(c,"w+")
file3.write(file2a)
file3.close()
(file2a是一个名为SCORE.txt的文本文件的内容,这可以正常工作)。
当我执行此代码时,它给了我一个错误:
Traceback (most recent call last):
File"E:\Program Files\Python guff\DocMarker\data\FinalScore.py", line 57, in
file3 = open(c,"w+")
FileNotFoundError: [Errno 2] No such file or directory: 'SCORE-(28/12/2015)-(21-05-09).txt'
这令我感到困惑,因为当我将"c"位改为"test"时,它起作用了。 像这样:
file3 = open("test","w+")
这成功地创建了一个名为"test"的文件,其中包含SCORE.txt的内容。 我很困惑为什么它不适用于我的"c"变量。
你的文件名中有斜杠。
尝试将w +更改为w。 我知道w会自动为你创建一个文件。
因为你的文件名中有斜杠,python正在寻找一个目录
- SCORE-(28
|
- 12
|
- 2015)-(21-05-09).txt
尝试重构您的初始代码,如下所示:
a, b = time.strftime("%d-%m-%Y"), time.strftime("%H-%M-%S")
c = ("SCORE"+"-"+"("+a+")"+"-"+"("+b+")")
c = str(c+".txt")
或者,以更紧凑和更易读的方式:
c = time.strftime("SCORE-(%d-%m-%Y)-(%H-%M-%S).txt")
感谢您的支持,感谢您提供更高效的代码!