2013-09-27 45 views
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' 

你能不能給我這個問題的某種解決辦法或建議?

回答

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 
+0

你給我生路,THX很多! – Car

0

以上回答使用.format是清潔的,但你也可以使用scanf函數語法

g = 'Fox_Crime20130927092830.xls' 
shell1 = 'xls2csv -x %s -s cp1252 -d utf-8 > FOX.csv'%(g) 
print shell1 
相關問題