2012-03-26 16 views
0

Python(v2.6.5)の文字列フォーマット変換に問題があります。私はこのような書式設定する文字列を設定しようとしました ...基本的なPython文字列の書式設定。

os.system ('/%s/tabix' % (path) '-h -f ftp://<some_url> 4:387-388 > file.out') 

さ パス= 'ホーム/ジョン

しかし、私はいつも

"Not enough arguments for format string" 

は、私が読んで同じエラーを取得ドキュメント、 とこの投稿Not enough arguments for format stringしかし、私は適切な答えを見つけることができません。

誰かが私を助けることができますか?事前に

おかげで、あなたは文字列の末尾形式の引数を持っている必要があります

peixe

答えて

6
os.system ('/%s/tabix -h -f ftp://<some_url> 4:387-388 > file.out' % (path)) 

。 2つの文字列の間にはありません。

+0

を使用することをお勧めしてみましょう。 私はこれまでPythonでプログラミングをしていましたが、フォーマット文字列関数がどのように機能するかは覚えていませんでした。 今私は知っている。 ありがとうございました! peixe – peixe

1

私は問題は、文字列の途中で明示的な文字列連結を同時に実行することなく(パス)を埋めていることだと思います。最高の解決策は、それを作ることです:

'/%s/tabix -h -f ftp://<some_url> 4:387-388 > file.out' % (path) 
1

あなたが投稿した内容は、実際には構文エラーです。何か不足していますか?

>>> import os 
>>> path='home/john' 
>>> os.system ('/%s/tabix' % (path) '-h -f ftp://<some_url> 4:387-388 > file.out') 
    File "<stdin>", line 1 
    os.system ('/%s/tabix' % (path) '-h -f ftp://<some_url> 4:387-388 > file.out') 
                       ^
SyntaxError: invalid syntax 

私は、フォーマット引数は適切なフォーマットに文字列の後に設定する必要があることをどこかで読んはい、愚かな私... XDD 私はあなたが

os.system('/{path}/tabix -h -f ftp://<some_url> 4:387-388 > file.out'.format(path=path)) 
関連する問題