Python 创建以变量作为文本文件名称的文本文件
我需要创建一个文本文件来存储用户对所问问题的答案。此文件需要具有唯一的案例编号作为其文件名。下面的代码是这样做的,除了文件不是文本文件之外,它的文件类型只是说“file” 文件需要将RNNumber文件的内容作为其文件名。这真的很重要 有人知道怎么做吗Python 创建以变量作为文本文件名称的文本文件,python,file,variables,Python,File,Variables,我需要创建一个文本文件来存储用户对所问问题的答案。此文件需要具有唯一的案例编号作为其文件名。下面的代码是这样做的,除了文件不是文本文件之外,它的文件类型只是说“file” 文件需要将RNNumber文件的内容作为其文件名。这真的很重要 有人知道怎么做吗 def casenumberallocator(filename, answers, typeofdevice): os.chdir("H:\V4 Program\Questions") availablecasenumber =
def casenumberallocator(filename, answers, typeofdevice):
os.chdir("H:\V4 Program\Questions")
availablecasenumber = "not found"
while availablecasenumber == "not found":
rnumber = random.randint(1, 100)
if rnumber in randomnumberlog:
one = 1
else:
availablecasenumber = "found"
randomnumberlog.append(rnumber)
case = dict()
case[rnumber] = {"Case number": rnumber,
"Device": typeofdevice,
filename: answers}
casestring = ''.join('{}{}'.format(key, val) for key, val in case[rnumber].items())
os.chdir("H:\V4 Program\Case_files")
with open(str(rnumber), "w") as file:
#I have also tried str(rnumber).txt, and str(rnumber)".txt" but neither works.
file.write(casestring)
os.chdir("H:\V4 Program")
您必须“连接”
。。。我想…谢谢Stefano,你的答案稍微编辑一下就行了
open(str(rnumber)+'.txt'
您还可以使用字符串插值,它会在插入值之前自动将值转换为字符串
"{}.txt".format(rnumber)
或
为什么不再使用
str.format
str(rnumber).txt将只是一个属性错误,因为它试图访问属性字符串显然没有。此外,文件扩展名是什么并不重要,除非它将文件与特定的默认程序相关联;只需用文本编辑器打开并查看一下。请不要总是做这些多余的chdir
。如果要打开其他文件夹中的文件,只需在调用open
时在文件夹前面加上文件名。不需要这些额外的引号,除非您希望文件名本身包含引号。
"{}.txt".format(rnumber)
"{}.{}".format(rnumber, "txt")