我正在尝试编写一个Python脚本,它将对多个数据库执行相同的操作。我手动输入它们太多了,所以我想编写一个循环遍历它们的脚本。 现在,在陷入困境之前,我已经达到了以下目标:
countylist = ['01001','01002','01003','01004']
for item in countylist:
# Local variables...
file_1 = "F:\\file1.shp"
file_2 = "F:\\fileCOUNTYLIST.shp"
output_2 = "F:\\outputCOUNTYLIST.shp"
基本上,我需要把项目放到我写COUNTYLIST的地方(所以程序会调用“F:\ file01001.shp”,“F:\ file01002.shp”等)。我在网上找不到答案。我该怎么做?
非常感谢!
答案 0 :(得分:3)
countylist = ['01001','01002','01003','01004']
file_1 = "F:\\file1.shp"
for item in countylist:
file_2 = "F:\\file%s.shp" % item
output_2 = "F:\\output%s.shp" % item
# Here, I do my commands that are dependent on
# the name of the file changing.
# Here, outside of the loop, file_2 and output_2 have the last
# value assigned to them.
答案 1 :(得分:1)
简单连接将会:
for item in countylist:
file_2 = 'F:\\file' + item + '.shp'
output_2 = 'F:\\output' + item + '.shp'
答案 2 :(得分:0)
怎么样:
countylist = ['01001','01002','01003','01004']
for item in countylist:
# Local variables...
file_1 = "F:\\file1.shp"
file_2 = "F:\\file%s.shp" % countylist
output_2 = "F:\\output%s.shp" % countylist
答案 3 :(得分:0)
还没有人使用过这种变化,format method对于字符串......
countylist = ['01001','01002','01003','01004']
for item in countylist:
file_1 = "F:\\file1.shp"
file_2 = "F:\\file{0}.shp".format(item)
output_2 = "F:\\output{0}.shp".format(item)
此样式更灵活,因为您不仅可以使用带编号的参数,还可以使用
等关键字 file_2="F:\\file{countylist}.shp".format(countylist=item)
来自手册,“这种字符串格式化方法是Python 3.0中的新标准,应该优先于新代码中字符串格式化操作中描述的%格式。”所以很高兴知道。
重要说明:我认为此方法仅适用于Python 2.6及更高版本!