Python 创建以变量作为文本文件名称的文本文件

Python 创建以变量作为文本文件名称的文本文件,python,file,variables,Python,File,Variables,我需要创建一个文本文件来存储用户对所问问题的答案。此文件需要具有唯一的案例编号作为其文件名。下面的代码是这样做的,除了文件不是文本文件之外,它的文件类型只是说“file” 文件需要将RNNumber文件的内容作为其文件名。这真的很重要 有人知道怎么做吗 def casenumberallocator(filename, answers, typeofdevice): os.chdir("H:\V4 Program\Questions") availablecasenumber =

我需要创建一个文本文件来存储用户对所问问题的答案。此文件需要具有唯一的案例编号作为其文件名。下面的代码是这样做的,除了文件不是文本文件之外,它的文件类型只是说“file”

文件需要将RNNumber文件的内容作为其文件名。这真的很重要

有人知道怎么做吗

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