3

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

但这不起作用。

有任何想法吗?

4

1 回答 1

12

差不多好了!不用[ ],它返回一个列表:

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

现在,您可以尝试其他不使用+and来构造字符串str()的方法,例如:

filename = "simple%d%d.csv" % (minLength,minBF)
print filename
于 2013-03-09T14:17:35.240 回答