【发布时间】:2020-12-20 09:03:27
【问题描述】:
我创建了一个脚本,它应该下载一些数据,然后运行一些进程。数据源(ArcGIS Online)始终将数据下载为 zip 文件,提取时文件夹名称将是一系列字母和数字。我注意到这些偶尔会发生变化(不完全确定原因)。我的想法是运行 os.listdir 来获取文件夹名称然后重命名它。我遇到的问题是该列表返回带有括号和引号的文件夹名称。它返回 ['f29a52b8908242f5b1f32c58b74c063b.gdb'] 作为文件夹名称,而文件资源管理器中的文件夹没有括号和引号。下面是我的代码和我收到的错误。
from zipfile import ZipFile
file_name = "THDNuclearFacilitiesBaseSandboxData.zip"
with ZipFile(file_name) as zip:
# unzipping all the files
print("Unzipping "+ file_name)
zip.extractall("C:/NAPSG/PROJECTS/DHS/THD_Nuclear_Facilities/SCRIPT/CountyDownload/Data")
print('Unzip Complete')
#removes old zip file
os.remove(file_name)
x = os.listdir("C:/NAPSG/PROJECTS/DHS/THD_Nuclear_Facilities/SCRIPT/CountyDownload/Data")
os.renames(str(x), "Test.gdb")
输出:
FileNotFoundError: [WinError 2] 系统找不到指定的文件: "['f29a52b8908242f5b1f32c58b74c063b.gdb']" -> 'Test.gdb'
我对 python 脚本比较陌生,所以如果有更简单的替代方案,那也很好。谢谢!
【问题讨论】: