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

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

但这行不通。

有什么想法吗?

最佳答案

快到了!免去 [ ],它返回一个列表:

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

关于python - 在 Python 中将变量更改为输出文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15311624/

相关文章:

python - 从 Python 中创建并执行 tcsh 脚本

c - 解析所需值的字符串

javascript - 使用 jquery/javascript 查找包含标题的 csv 文件

java - Jackson CSV 映射器不适用于自定义架构

python - simpleITK 与 anaconda python

python - Google App Engine 进程已终止(错误代码 123)

java - 如何将输出语句转换为字符串类型?

java - 数组越界异常

vba - 使用加载项中的宏时保存事件工作簿

python - 为什么 Boost Python 试图实例化一个抽象类型?