微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法让 sys.argv 在 cmd 中给出任何输出

如何解决无法让 sys.argv 在 cmd 中给出任何输出

这可能看起来很基本,但由于某种原因,我无法在命令行中打印任何带有 sys.argv 的程序。取而代之的是,一个新的 cmd 窗口会很快打开,其中不显示任何文本,然后关闭。在此之后,cmd 立即跳过一行并打印 C:\Users\(my userid)>,等待新的输入。

我的代码如下:

我第一次尝试:

import sys

print(sys.argv)

并通过命令行输入:

C:\Users\(my userId)\Desktop\filename.py文件的位置)

没有输出,而是 cmd 执行了我在第一段中描述的操作。

我接下来尝试:

import sys

def main():
    print(sys.argv)

if __name__ == '__main__':
    main()

并通过命令行以完全相同的方式运行它。再次,我对第一段中描述的过程表示欢迎。

我已经检查过我是否以正确的方式安装了 python,文件名是否正确,以及文件是否在它们应该在的位置,一般来说。我正在运行 python 3.9。

只需输入文件名就会得到预期的 cmd 输出

'filename.py' is not recognized as an internal or external command,operable program or batch file.

感谢任何帮助。

编辑:将 python 文件直接移动到 C:\Users(my userID),然后使用 filename.py 在 cmd 中运行它会导致与以前相同的问题,在程序的两个版本上。

解决方法

首先,sys.argv 返回一个列表。 list[0] 将是您的程序文件名,其余(list1、list[2] 等)将是您从 cmd 行输入的参数。

import sys
import time
def main():
  print(sys.argv[1])   # this will print out the first argument you input.
  time.sleep(3)        # in this case,sleep() is used to visualize the result in cmd.3 seconds in my case

if __name__ == '__main__':
  main()

希望能帮到你! Further Resource

,

您必须实际使用 python filename.pypython3 filename.pypy filename.py 运行 Python。这将启动解释器并将文件名传递给它。然后解释器执行文件的内容。

C:\Users\TigerhawkT3>file.py
'file.py' is not recognized as an internal or external command,operable program or batch file.

C:\Users\TigerhawkT3>py file.py
['file.py']

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。