2012-03-26 33 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但我不能找到一个合适的答案。

有人能帮助我吗?

由于提前,

佩希

回答

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

您需要的格式参数字符串的结尾。不在两个字符串之间。

+0

是的,我傻......的xDD 我读的地方,格式化参数应的字符串格式化后立即进行设置。 我曾经在过去Python编程,但我不记得怎么挺格式字符串函数的工作。 现在我知道了。 谢谢大家! 佩希 – peixe 2012-03-26 17:35:26

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 

让我建议你使用

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