python3 -c command 介绍

python -c command 含义

使用 python -h,查看 -c 参数的说明: -c cmd : program passed in as string (terminates option list)

意思是用 -c command 调用时,执行 command 表示的 Python 语句。command 可以包含用换行符;分隔的多条语句。

简单来说就是在命令行执行python代码

python -c command举例应用

$ python -c "import time;print(time.time());print('That is OK.')"
1618970995.6005359
That is OK.

$ python -c "import sys;print(sys.path);print(sys.argv)" a b d
['', '/home/tafan/workspace/envs/python_3_6/lib/python36.zip', '/home/tafan/workspace/envs/python_3_6/lib/python3.6', '/home/tafan/workspace/envs/python_3_6/lib/python3.6/lib-dynload', '/usr/lib/python3.6', '/home/tafan/workspace/envs/python_3_6/lib/python3.6/site-packages']
['-c', 'a', 'b', 'd']

$ python -c "for i in range(3):
    print(i)
    print('OK')"
0
OK
1
OK
2
OK

$ python -c "for i in range(3):
 print(i)
print('OK')"
0
1
2
OK

 $ python -c "for i in range(3):print(i)"
0
1
2

由上面的测试代码可知:

  • for 语句后的那一行,缩进只有一个空格,代码能够正确执行(当然4个空格也是可以的);这与在exec函数中输入的代码字符串一样,在这时,4个空格的缩进不再是强制的,只要有缩进,python解释器就能够识别
  • 使用该功能,sys.argv 的首个元素为 "-c",并会把当前目录加入至 sys.path开头(让该目录中的模块作为顶层模块导入)。

python -c command意义

-c 参数提供了不进入python解释器的交互模式,就能够执行python代码的方式。这种方式执行python代码,所有的输出都在命令行,也许在某些shell脚本的场景下会很有用。

参考:
https://docs.python.org/zh-cn/3/using/cmdline.html#cmdoption-c
https://www.pynote.net/archives/1741

你可能感兴趣的:(python3 -c command 介绍)