我正在尝试调试将命令行参数作为输入的脚本。参数是同一目录中的文本文件。脚本从sys.argv列表中获取文件名。我的问题是我无法使用pycharm中的参数启动脚本。
我试图在“运行”>“编辑配置”菜单的“脚本参数”字段中输入参数,如下所示:
-s'file1.txt', -s'file2.txt'
但这没有用。如何使用参数启动脚本?
PS我在Ubuntu上
Answers:
在PyCharm中,Script Parameters
像您一样在参数中添加参数,但是参数用双引号引起来, ""
并且没有指定解释器标志,例如-s
。这些标志在Interpreter options
框中指定。
脚本参数框内容:
"file1.txt" "file2.txt"
插入者标志:
-s
或者,在视觉上:
然后,用一个简单的测试文件进行评估:
if __name__ == "__main__":
import sys
print(sys.argv)
我们获得提供的参数(sys.argv[0]
当然保留脚本名称):
['/Path/to/current/folder/test.py', 'file1.txt', 'file2.txt']
script parameters
Script parameters
选项。
在PyCharm Community或Professional Edition 2019.1+上:
file2.txt file3.txt
或--myFlag myArg --anotherFlag mySecondArg
)第一个参数是要运行的脚本的名称。从第二个参数开始,它是您要从命令行传递的参数。下面是一个测试脚本:
from sys import argv
script, first, second = argv
print "Script is ",script
print "first is ",first
print "second is ",second
这是您传递输入参数的方式:“脚本路径”,“第一个参数”,“第二个参数”
可以说,脚本的路径是/home/my_folder/test.py,输出将类似于:
Script is /home/my_folder/test.py
first is First Parameter
second is Second Parameter
希望这会有所帮助,因为我花了一些时间弄清楚输入参数是逗号分隔的。