用参数启动python shell

时间:2018-01-02 10:57:24

标签: python linux shell terminal

是否可以在没有文件的情况下将参数传递给linux中的python?我目前无法创建文件或更改权限,我也不想在我的代码中写这样的内容:

import sys
sys.argv = ["arg1", "arg2", ...]

我想在启动shell的时候交出论点:

python <arguments>

2 个答案:

答案 0 :(得分:2)

虽然将命令行参数传递给交互式shell是有问题的,但确实可以通过传递-而不是脚本文件名来实现:

$ python - a1 a2
Python 2.7.14 (default, Sep 23 2017, 22:06:14) 
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.argv
['-', 'a1', 'a2']

答案 1 :(得分:0)

如果您使用IPython作为交互式shell,则可以使用%run magic命令将参数传递给您运行的脚本:

In [1]: %run myscript.py arg1 arg2 ...

(我并不是很清楚你想要实现的目标,但你可能希望将参数传递给某些脚本。)