1

我正在从 zip 文件中提取从 ArcGIS Online 下载的地理数据库副本。该脚本遍历 json 以驱动该过程。当它在我的 C 驱动器中时,它执行得很顺利。当我将它移动到网络驱动器时,它在第 4 次迭代中失败,给我一个与 Zipfile.extractall() 相关的“OSError: [Errno 22] Invalid argument”消息。当回溯离开我的脚本时,错误消息的后半部分位于末尾。

我在 ArcGIS Pro 控制的 conda 环境中工作,所以很少有模块是最新的。

想法?异常处理似乎正在解决眼前的问题并让脚本按预期运行,但错误只是困扰着我。

def gdb_extract(repzip,path):
    with zipfile.ZipFile(repzip, 'r') as zip_ref:
        fname = zip_ref.namelist()[0]
        try:
            zip_ref.extractall()#running into problems here
        except Exception as e:
            print(e.args)
    fname=fname.split('/')[0]
    fpath=path+'/'+fname
    os.remove(repzip)
    return fpath

文件“C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\zipfile.py”,第 1636 行,在 extractall self._extract_member(zipinfo, path, pwd) 文件“C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\zipfile.py”,第 1691 行,在 _extract_member shutil.copyfileobj(source, target) 文件“C:\Program Files\ArcGIS\Pro\bin\ Python\envs\arcgispro-py3\lib\shutil.py",第 82 行,在 copyfileobj fdst.write(buf) OSError: [Errno 22] Invalid argument

4

0 回答 0