|
发表于 2022-5-12 07:33:49
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
https://m.jb51.net/article/197406.htm
原帖子
这三句我没看懂
zipFile.extractall(pwd= bytes(password, "utf8" ))
for line in PwdLists.readlines(): #挨个挨个的写入密码
Pwd = line.strip('\n')
if __name__ == '__main__':
main()
第一句为什么使用bytes函数?为什么编码是utf8?
第二句是如何实现逐行阅读的?
第三句中的_name_和_main_来自于哪里?
谢谢!
第一句为什么使用bytes函数?为什么编码是utf8?
这里不太熟悉这个模块,但是 bytes 函数是将文本数据转换成对应的二进制数据,这里 utf8 就是采用 utf-8 的编码转换为二进制数据,应该是和文件编码保持一致
对文件对象进行 for 循环遍历,默认就是逐行阅读,但是这里是对 PwdLists.readlines() 进行遍历
因为 readlines() 函数是读取文本的一行内容,所以这儿就是将 PwdLists 文件对象读取一行后,对这行的文本内容进行逐个遍历
__name__ 是 Python 的全局属性,这里最后代码的作用是:
当这个脚本作为主程序运行时候,会运行 if __name__ == "__main__": 下面的代码块
当这个脚本当作模块导入时候,将不调用 if __name__ == "__main__": 下面的代码块
这里的 main() 如果再正常情况下运行,而没有拿去导入模块,可以把这个代码的 if __name__ == "__main__": 去掉无妨
|
|