Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从URL读取shapefile的zipfile时,初始值不是str的错误_Python_Macos_Jupyter Notebook_Zipfile_Stringio - Fatal编程技术网

Python 从URL读取shapefile的zipfile时,初始值不是str的错误

Python 从URL读取shapefile的zipfile时,初始值不是str的错误,python,macos,jupyter-notebook,zipfile,stringio,Python,Macos,Jupyter Notebook,Zipfile,Stringio,使用Python3.5,以下示例用于从URL读取shapefile zipfile并更新P3.5。代码如下。我看过其他案例,并尝试追加.decode('utf-8'),但这没有帮助 dls = "https://github.com/ItsMeLarry/Coursera_Capstone/raw/master/tl_2010_25009_tract00%202.zip" print('Downloading shapefile...') lynntracts = ZipFile(io.

使用Python3.5,以下示例用于从URL读取shapefile zipfile并更新P3.5。代码如下。我看过其他案例,并尝试追加.decode('utf-8'),但这没有帮助

    dls = "https://github.com/ItsMeLarry/Coursera_Capstone/raw/master/tl_2010_25009_tract00%202.zip"
print('Downloading shapefile...')
lynntracts = ZipFile(io.StringIO(urllib.request.urlopen(dls).read()))
print("Done")
错误代码为: TypeError:初始值必须是str或None,而不是bytes

如果我输入.decode('utf-8'),ala:

我得到以下信息: UnicodeDecodeError:“utf-8”编解码器无法解码位置57中的字节0xa4:无效的开始字节

将decode()放在io.StringIO调用的外部不会影响原始问题。我迷路了。我可以尝试什么,或者我需要学习什么?谢谢

另外,我正在尝试实现一个不会在磁盘上创建文件、临时文件或其他文件的过程,因为Jupyter和Macos之间的关系禁止访问磁盘上的文件。这是另一个还没有人能够解决的问题

import urllib.request
import io
from zipfile import ZipFile

dls = "https://github.com/ItsMeLarry/Coursera_Capstone/raw/master/tl_2010_25009_tract00%202.zip"
print('Downloading shapefile...')
lynntracts = ZipFile(io.BytesIO(urllib.request.urlopen(dls).read())) -----> Edited Line
print("Done")
用BytesIO代替


StringIO接收一个字符串,而您传递的数据是字节。

我做了更改,它似乎可以工作,但我突然转向下一个问题。他们可能有关联。我要分开邮寄。
import urllib.request
import io
from zipfile import ZipFile

dls = "https://github.com/ItsMeLarry/Coursera_Capstone/raw/master/tl_2010_25009_tract00%202.zip"
print('Downloading shapefile...')
lynntracts = ZipFile(io.BytesIO(urllib.request.urlopen(dls).read())) -----> Edited Line
print("Done")