Как получить имя локального файла после запуска ZipFile extract()
?Получить локальное имя файла после ZipFile extract()
Когда я делаю это:
with zipfile.ZipFile(localZipFilePath, "r") as zf:
for name in zf.namelist():
localFilePath = zf.extract(name, '/tmp/')
print localFilePath
файл, как он существует в файле почтового индекса является: src/xyz/somefile.txt
localFilePath
выводит это: /tmp/src
Файл, здесь написано: /tmp/src/xyz/somefile.txt
и это то, что я хотел бы получить изящным способом.
Нет, 'localFilePath' фактическое целевое имя, что файл записывается, или путь к каталогу, если присутствует в ZipFile. Нет необходимости дополнительно обрабатывать возвращаемое значение. –
@MartijnPieters - это не то, что я вижу. Я посмотрел исходный код для ZipFile и вижу, что он никогда не возвращает полный путь к файлу (полный путь с именем файла). Я прошу изящный способ получить полный путь с именем файла. Кроме того, в вашем комментарии неясно, что вы говорите «Нет». –
Я также проверил исходный код, и я ясно вижу, что ['targetpath' - это то, что создается локально, а затем возвращено] (https://hg.python.org/cpython/file/447794596266/Lib/zipfile.py # l1077). –