
系统参数设置中 hash_file() 报错:无法打开流:无效的参数
在设置系统参数的过程中,使用 hash_file() 函数时遇到了错误,提示“无法打开流:无效的参数”。这个问题通常发生在处理中文字符串时。
问题原因
hash_file() 函数需要两个参数:
立即学习“Python免费学习笔记(深入)”;
本文档主要讲述的是Python之模块学习;python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题。模块我们就可以理解为lib库,如果需要使用某个模块中的函数或对象,则要导入这个模块才可以使用,除了系统默认的模块(内置函数)不需要导入外。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
- 文件名(string)
- 哈希算法(string)
中文文件名并不是一个有效的 string 类型,因为 python 解释器无法识别中文字符。
解决方案
要把中文文件名转化为拼音或其他能够被 python 解释器识别的字符串。如下所示:
import pinyin
def convert_to_pinyin(filename):
result = []
for char in filename:
result.extend(pinyin.get(char, char))
return ''.join(result)
filename = convert_to_pinyin("up/1437616281如何根据企业情况设置系统参数?.doc")
with open(filename, 'rb') as f:
hash = hashlib.sha256(f.read()).hexdigest()这样,hash_file() 函数就可以正常打开文件并计算哈希值。









