【问题标题】:How to execute multiline python with -c option如何使用 -c 选项执行多行 python
【发布时间】:2013-11-07 09:04:01
【问题描述】:

我需要使用 -c 选项使用 python 执行多行 python 脚本。

例子:

python -c "
print()
print()
print()"

我知道有一种方法可以做到这一点,将所有内容放在一行中并用分号分隔所有内容,即

python -c "print(); print(); print()"

但是我需要执行的脚本略大于 3 行代码,需要写成多行。

感谢任何帮助。

【问题讨论】:

    标签: python python-3.x command-line


    【解决方案1】:

    您是否尝试过您的第一个示例?这对我行得通。但是,根据您的代码,如果有双引号,您可以使用单引号。

    python -c '
    print("hello")
    print("two")
    print("three")
    '
    

    您也可以使用“heredoc”不添加-c,这样您就不必担心引号了。这基本上就像从文件中读取它一样。

    python <<EOP
    print("check")
    print('one')
    print('"two"')
    EOP
    

    EOP 可以只是一个唯一的字符串,您可以通过将其放在开头的自己的行来终止输入。在远程情况下,您的代码中有 $PATH* 或其他您不想替换的 bash 实体,请在 first EOP

    周围加上单引号>
    # Define variable in the shell (not in python)
    MYVAR=Hello
    
    # Without quotes, shell substitution happens
    python <<EOP
    print("$MYVAR"*3)
    EOP
    
    HelloHelloHello
    
    # With quotes, no shell substitution
    python <<'EOP'
    print("$MYVAR"*3)
    EOP
    
    $MYVAR$MYVAR$MYVAR
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      相关资源
      最近更新 更多