我正在尝试使用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的文本文件的内容,这可以正常工作)。
当我执行此代码时,它会给我一个错误:
追踪(最近一次通话): 文件“E:\ Program Files \ Python guff \ DocMarker \ data \ FinalScore.py”,第57行,in file3 = open(c,“w +”) FileNotFoundError:[Errno 2]没有这样的文件或目录:'SCORE-(28/12/2015) - (21-05-09).txt'
令我感到困惑的是,当我将“c”位改为“test”时,它起作用了。像这样:
file3 = open("test", "w+")
这成功创建了一个名为“test”的文件,其中包含SCORE.txt的内容。我很困惑为什么它不适用于我的“c”变量。
答案 0 :(得分:4)
因为你的文件名中有斜杠,所以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")