我有一个大文本文件,我想要uri参数编码。我研究了一下,想出了这个:
import urllib
f=open('text.txt','r').read()
n= open('encodeTest.txt','w')
new=urllib.quote_plus(f)
n.write(new)
每次运行时都会收到此错误:
AttributeError: 'module' object has no attribute 'quote_plus'
答案 0 :(得分:1)
你想要urllib.parse.unquote_plus。但是如果你编码一个大文件就算不行了,因为max URL length是〜2000个字符
答案 1 :(得分:1)
Python3从urllib的模块中删除了quote_plus。你需要导入urllib.parse并从那里开始。但是,编码较大的文件时会出现问题,因此一次编码1024个字节可能会有意义。
import urllib.parse
f=open('text.txt','r').read()
f.close()
n= open('encodeTest.txt','w')
for x in range(0, len(f), 1024):
buf = f[x:x+1024]
n.write(urllib.parse.quote_plus(buf))
n.close()