3

私はこのリストを持っています:

myist = ['0', '1', '2', '3']

そして、1行で複数のファイルが使用されている os.system() 経由で何かを実行したい:

cat file0.txt file1.txt file2.txt file3.txt > result.txt

リストに参加するときに接尾辞を追加する方法がわかりません。これ:

os.system("cat file" + ' file'.join(mylist) +".txt > result.txt" )

私に与える:

cat file0 file1 file2 file3.txt > result.txt

しかし、私が欲しいのはこれです:

cat file0.txt file1.txt file2.txt file3.txt > result.txt

だから私が探しているのはのようなものです'prefix'.join(mylist).'suffix'。for ループを使用せずにこれを行うにはどうすればよいですか?

4

3 に答える 3

3

文字列の先頭にサフィックスを追加するだけです。

os.system("cat file" + '.txt file'.join(mylist) +".txt > result.txt")

または、map 関数で文字列の書式設定を使用できます。

os.system("cat " + ' '.join(map('file{0}.txt'.format, mylist)) + " > result.txt")
于 2013-10-19T09:48:28.470 に答える
2

ジェネレーター式の使用:

print  "cat " + " ".join("file%d.txt" % int(d) for d in mylist) + " > result.txt"
于 2013-10-19T09:49:44.820 に答える
0

4つ以上のアイテムに使用したい場合

os.system('cat %s > result.txt'%(' '.join("file%i.txt"%i for i in xrange(0,4))))

あなたもできる:

mylist = ['0','1','2','3']
os.system('cat %s > result.txt'%(' '.join("file%s.txt"%i for i in mylist)))

しかし、それはあまり楽しくありません。

于 2013-10-19T10:07:42.603 に答える