在Python中包含将变量更改为输出文件的名称

时间:2013-03-09 14:11:49

标签: python string csv filenames output

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

但这不起作用。

有什么想法吗?

1 个答案:

答案 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