我需要创建一个文本文件来存储用户给出的一组问题的答案。该文件需要具有唯一的案例号作为其文件名。下面的代码确实除文件之外不是文本文件,其文件类型只是说“文件”。用变量创建文本文件作为文本文件的名称
文件需要将rnumber文件的内容作为文件名。这真的很重要。
有谁知道这可以做到吗?
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")
你为什么不使用'再次str.format'? 'str(rnumber).txt'只是一个属性错误,因为它试图访问属性字符串显然没有。除了文件与特定的默认程序相关联外,文件扩展名也不重要;只需打开使用文本编辑器并观看。 – jonrsharpe
请不要总是做这个多余的'chdir'。如果你想在不同的文件夹中打开一个文件,只需要在打开'open'文件时加上文件名。 – Matthias