gpt4 book ai didi

Python 命令行参数 (Windows)

转载 作者:太空狗 更新时间:2023-10-30 00:37:02 25 4
gpt4 key购买 nike

我正在运行 32 位 Windows 7 和 Python 2.7。

我正在尝试编写一个可以从 CMD 运行的命令行 Python 脚本。我正在尝试为 sys.argv[1] 赋值。我的脚本的目的是计算文件的 MD5 哈希值。当在命令行中调用脚本时将输入此文件,因此 sys.argv[1] 应该代表要散列的文件。

下面是我的代码:

import sys
import hashlib

filename = sys.argv[1]

def md5Checksum(filePath):
fh = open(filePath, 'rb')
m = hashlib.md5()
while True:
data = fh.read(8192)
if not data:
break
m.update(data)
return m.hexdigest()

# print len(sys.argv)
print 'The MD5 checksum of text.txt is', md5Checksum(filename)

每当我运行这个脚本时,我都会收到一个错误:

filename = sys.argv[1]
IndexError: list index out of range

为了调用我的脚本,我一直在写“script.py test.txt”,例如。脚本和源文件都在同一目录中。我已经测试了 len(sys.argv),它只返回包含一个值,即 python 脚本名称。

有什么建议吗?我只能假设这是我通过 CMD 调用代码的方式

最佳答案

您应该检查您在注册表中关联文件的方式是否正确,例如:

[HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command]
@="\"C:\\Python27\\python.exe\" \"%1\" %*"

关于Python 命令行参数 (Windows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9880540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com