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 に答える