使用变量作为文件名 Python

Using a variable as a Filename Python

我无法在不抛出错误的情况下使用文件名中的变量。

def logData(name, info):
    currentTime = datetime.datetime.now()
    date = currentTime.strftime("%x")
    
    filename = "{}_{}.txt".format(name, date)

    f = open(filename, "a")
    f.write(info)+ '\n')
    f.close()

我已尝试按上面所示格式化字符串以及连接变量。

有什么办法可以解决这个问题吗?

一个问题是右括号,日期格式也包含 /(斜杠 ex:07/07/21),这将使文件名带有斜杠,即在 windows 中不是有效名称,因为它使它成为一条路径。

对您的逻辑改动最少的解决方案:

import datetime

def logData(name, info):
    currentTime = datetime.datetime.now()
    date = currentTime.strftime("%Y-%m-%d")
    
    filename = "{}_{}.txt".format(name, date)
 
    with open(filename,"a+") as f:
        f.write(f'{info}\n')

logData('my_file',"test")