2012-03-17 3 views
2

免責事項:私はPythonの初心者ですが、Drupalプログラミングの経験があります。beginner:python unpack

私はこれがあります。

f = [1.jpg, 2.jpg, 3.jpg] #unknown amount at runtime 

を、私はこの

call(['c:/program files/ABBYY FineReader 10/finereader.exe',f]) 

を行う必要があるが、代わりに、単にFとの通話を終了する、それがどのようにこの

call(['c:/program files/ABBYY FineReader 10/finereader.exe', 1.jpg,2.jpg,3.jpg]) 

を行う必要があります私はfを解凍できますか?適切なアプローチを展開していますか?

答えて

2

これは機能しますか? 2つのリストで+を実行すると、最初のリストと2番目のリストの連結である新しいリストバックが得られます。

call(['c:/program files/ABBYY FineReader 10/finereader.exe'] + f) 

またextend()方法で、場所のリストにさらに引数を追加することができます

command = ['c:/program files/ABBYY FineReader 10/finereader.exe'] 
command.extend(f) 
call(command) 
+0

30秒で私を倒してください! :-) – Omnifarious

+0

完璧、ありがとう! –

+0

とにかく私はあなたに投票しました。 :)「連結」がその意味よりも入力が速かったので、私はおそらく単純に勝ったでしょう。インデントされたコードブロックの方がより整形されたように見えることを覚えておく必要があります。 –

1

これを行う:call(['c:/program files/ABBYY FineReader 10/finereader.exe'] + f)

を持つ新しいリストで一緒に二つのリストの結果を追加します最初の要素の後に2番目の要素が続きます。あなたが行うことができます

もう一つはこれです:

reader_exec = ['c:/program files/ABBYY FineReader 10/finereader.exe'] 
reader_exec[len(reader_exec):] = f 
call(reader_exec) 

私はそれが理解し、より詳細なと難しいと思うし、それをお勧めしません。しかし、サブリスト(この場合は空のリスト)を別のリストに置き換える一般的な手法は、特定の状況で非常に便利です。

+0

完璧、ありがとう! –

関連する問題