0

我有一些这样的代码:

#!/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'

你能给我一些解决方案,或者这个问题的建议吗?

4

2 回答 2

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
于 2013-09-27T12:52:49.327 回答
0

上面使用 .format 的答案更干净,但您也可以使用 scanf 语法

g = 'Fox_Crime20130927092830.xls'
shell1 = 'xls2csv -x %s -s cp1252 -d utf-8 > FOX.csv'%(g)
print shell1
于 2013-09-27T13:45:52.530 回答