从cmd行或bash脚本将参数传递给python脚本

时间:2013-04-04 15:33:10

标签: python bash variables arguments

简单的问题。

如果我有这一行:

      j = json.load(urllib.urlopen("http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q= ***$???*** "))

我正试图从另一个脚本+ /或命令行将参数传递到该位置。

在bash中简单地说,1美元,2美元等等。

我已经读过(sys.argv [1])并且我错过了它,因为在bash中这么简单的事情似乎需要在python中有这样的冗长。我试过这个:

      j = json.load(urllib.urlopen("http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q='(sys.argv[1])'"))

无济于事.... 我不理解的是什么?

2 个答案:

答案 0 :(得分:4)

Python中默认不插入字符串。尝试

("http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q='%s'"
 % sys.argv[1])

答案 1 :(得分:0)

是的,为了完整性,有“新格式”,有点像Java的格式字符串,并且使用起来更好。

 $ python -c 'import sys; print("yojo{0}".format(sys.argv[1]))' mo
yojomo

如果你只想连接字符串,那么+运算符就会重载。

print("mystring" + sys.argv[1])