【问题标题】:passing arguments into a python script from cmd line or a bash script从 cmd 行或 bash 脚本将参数传递到 python 脚本
【发布时间】:2013-03-26 18:49:24
【问题描述】:

简单的问题。

如果我有这一行:

      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])'"))

无济于事...... 我不明白什么?

【问题讨论】:

    标签: python bash variables arguments


    【解决方案1】:

    默认情况下,Python 中不会对字符串进行插值。试试

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

    【讨论】:

    【解决方案2】:

    是的,为了完整起见,这里有“新格式”,它有点像 Java 的格式字符串,而且更好用。

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

    如果您只想连接字符串,+ 运算符会为此重载。

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

    【讨论】:

      猜你喜欢
      • 2013-05-18
      • 2019-03-11
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 2022-08-24
      • 2018-03-03
      相关资源
      最近更新 更多