【问题标题】:find filename and treat it like a variable查找文件名并将其视为变量
【发布时间】:2013-09-27 12:49:14
【问题描述】:
我有一些这样的代码:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import sys
# Varibale name
g = 'Fox_Crime20130927092830.xls'
# This code is for transforming xls to csv, but it's external script calling in python
shell1 = 'xls2csv -x $g -s cp1252 -d utf-8 > FOX.csv'
os.system(shell1)
如何读取目录中的文件名,并将文件视为变量,然后在外部脚本中调用它来执行?
在变量中:
g = 'filename'
你能给我一些解决方案,或者这个问题的建议吗?
【问题讨论】:
标签:
python
file
xslt
csv
replace
【解决方案1】:
您可以使用str.format 将变量的内容插入到字符串中。
g = 'Fox_Crime20130927092830.xls'
shell1 = 'xls2csv -x {} -s cp1252 -d utf-8 > FOX.csv'.format(g)
print shell1
这里将字符串中的{}替换为g的内容。
结果:
xls2csv -x Fox_Crime20130927092830.xls -s cp1252 -d utf-8 > FOX.csv
您也可以只手动组合字符串,但这不是很好看。
g = 'Fox_Crime20130927092830.xls'
shell1 = 'xls2csv -x ' + g + ' -s cp1252 -d utf-8 > FOX.csv'
print shell1
【解决方案2】:
上面使用 .format 的答案更简洁,但你也可以使用 scanf 语法
g = 'Fox_Crime20130927092830.xls'
shell1 = 'xls2csv -x %s -s cp1252 -d utf-8 > FOX.csv'%(g)
print shell1