我是Python(和编程)的新手,如果我问起真正愚蠢的问题,请耐心等待:)
所以,我想在结果的文件名中包含变量。这就是我到目前为止所做的:
resfile = open("simple.csv","w")
#lots of stuff of no relevance
resfile.close()
在脚本中我有两个变量,minLenght = 5000和minBF = 10,但我想更改它们并再次运行脚本创建一个新文件,我可以在其中看到创建的文件标题中的变量数,例如simple500010我希望每次运行脚本时都会创建一个新文件,并为两个变量设置不同的值。
我试过了:
resfile = open("simple" + [str(minLength)] + [str(minBF)].csv,"w")
但这不起作用。
有什么想法吗?
答案 0 :(得分:9)
几乎就在那里!使用[ ]
进行分配,返回一个列表:
minLength = 5000
minBF = 10
resfile = open("simple" + str(minLength) + str(minBF) + ".csv","w")
resfile.close()
此外,您在“.csv”附近没有任何引号。
但是,将字符串直接构造到函数的参数(如open
)中的问题在于它是一个调试的猪。您可能会发现使用变量首先存储文件名更容易:
filename = "simple" + str(minLength) + str(minBF) + ".csv"
resfile = open(filename,"w")
现在,您可以尝试使用其他方式构建字符串,而不必始终使用+
和str()
,例如:
filename = "simple%d%d.csv" % (minLength,minBF)
print filename