使用变量作为文本文件的名称创建文本文件

时间:2017-04-14 09:34:20

标签: python file variables

我需要创建一个文本文件,用于存储用户给出的一组问题的答案。此文件需要具有唯一的案例编号作为其文件名。下面的代码确实除了文件不是文本文件之外,它的文件类型只是说“文件”。

文件需要将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")

3 个答案:

答案 0 :(得分:0)

你必须"连接" ...

open('"'+str(rnumber)+'.txt"', "w")

......我想......

答案 1 :(得分:0)

感谢Stefano,你的答案略有编辑版本。

open(str(rnumber)+'.txt'

答案 2 :(得分:0)

您还可以使用字符串插值,在插入之前自动将值转换为字符串。

"{}.txt".format(rnumber)

或者

"{}.{}".format(rnumber, "txt")