如何解决无法让 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。
'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.py
或 python3 filename.py
或 py 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 举报,一经查实,本站将立刻删除。