【问题标题】:Python 3.8.1 win 10 cmd sys args issue [duplicate]Python 3.8.1 win 10 cmd sys args问题[重复]
【发布时间】:2020-06-23 10:45:55
【问题描述】:

有谁知道为什么我在执行脚本时不能发送参数? 我已经安装了 python 3.8.1,Windows 10 x64。我有一个环境变量(我的脚本所在的文件夹)。我可以像这样执行脚本:

nameScript.py

它可以工作,但如果我放了

nameScript.py 1

在这个脚本中我使用了'1',sys.argv[1] 给出一个错误:Index out of bounds

如果我像这样执行脚本:

python D/path_to_script/nameScript.py 1

它有效。

【问题讨论】:

  • 我可以从任何地方访问它们,我不需要去脚本的路径。
  • 谢谢,已经解决了

标签: python


【解决方案1】:

sys.argv 充满了命令行参数。第一个 sys.argv[0] 是脚本名称,然后 sys.argv[1] 是第一个参数。像这样:

python myscript.py arg1 arg2 

那么 sys.argv[0] 是 'myscript.py' sys.argv[1] 是 'arg1' sys.argv[2] 是 'arg2'

我认为您需要创建一个指向您的 python/bin 文件夹而不是您的项目/脚本文件夹的环境变量。

【讨论】:

  • 这不起作用
  • 查看 Masklinn 的评论。
【解决方案2】:

您的编辑器配置与默认命令提示符不同。可能是没有读取您的路径和其他内容。

当像这样执行时

nameScript.py 1

它理解 nameScript.py 是一个程序,1 是参数。 因此

sys.argv[0] = 1
sys.argv[1] = Error

【讨论】:

  • 如果它解决了您的问题,请接受作为答案
  • 如何更改配置?
  • 尝试重置你的ide设置,告诉我编辑器的名字。还将执行文件更改为 python 文件名。不要使 .py 可执行,而是运行 wittython 环境
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-26
  • 1970-01-01
  • 2020-06-09
  • 1970-01-01
  • 2019-06-08
  • 2018-04-26
  • 2020-08-14
相关资源
最近更新 更多