您可以帮助我,我需要在my_url
模式下打开rb
。试着这样做。
url = "https://my url/" + file_info.file_path
response = requests.get(url)
with open(BytesIO(response.content), "rb") as f: # Open in 'rb' mode for reading it in way like: 010101010
byte = f.read(1)
#some algorithm..............
while byte:
hexadecimal = binascii.hexlify(byte)
decimal = int(hexadecimal, 16)
binary = bin(decimal)[2:].zfill(8)
hiddenData += binary
byte = f.read(1)
出错:
预期的str,bytes或.osPathLIke对象,而不是_ioBytesIO
请帮助,我应该如何在"rb"
模式下打开我的网址?
我试图使用Pillow
打开图片 - 没关系。但至于使用open()
,我不能这样做。请..
答案 0 :(得分:1)
您正在传递一个BytesIO
对象(基本上是文件句柄),其中包含文件名。
所以quickfix:
f = BytesIO(response.content)
但更好的是,使用bytes
手动(对于算法的开始)或自动(使用iter
循环迭代for
个对象,当迭代器耗尽时将停止,所以不需要while
):
f = iter(response.content)
byte = next(f)
#some algorithm..............
for byte in f:
hexadecimal = binascii.hexlify(byte)
decimal = int(hexadecimal, 16)
binary = bin(decimal)[2:].zfill(8)
hiddenData += binary