Мне нужно сохранить файл с именем файла данного пути получения.
Учитывая URL-адрес, который я хотел бы проанализировать и извлечь имя файла, вот мой код ...
Я прочитал параметр JSON и передал его функции Parse Url. Путь сбора данных представляет собой строку.
ParseUrl.py:
from urllib.parse import urlparse as up
a = up(jtp["AcquisitionPath"]) # => http://127.0.0.1:8000/Users/YodhResearch/Desktop/LongCtrl10min.tiff
print(a)
print(os.path.basename(a))
Результат:
ParseResult(scheme='http', netloc='127.0.0.1:8000', path='/Users/YodhResearch/Desktop/LongCtrl10min.tiff', params='', query='', fragment='')
[....]
TypeError: expected str, bytes or os.PathLike object, not ParseResult
Как вы можете видеть, Parse URL, но "LongCtrl10min.tiff "не находится в разделе фрагмента, но находится в разделе пути. Почему это происходит? Может быть, потому что «AcquisitionPath» является строкой, а UrlParse распознает все как уникальный путь?
РЕДАКТИРОВАТЬ:
a.path РАБОТАЕТ, я хотел бы знать, почему я не получаю его в фрагмент фрагмента.
Вот еще один пример:
from urllib.parse import urlparse as up
string = "http://127.0.0.1:8000/GIULIO%20FERRARI%20FOLDER/Giulio%20_%20CSV/Py%20Script/sparse%20python/tiff_test.tiff_IDAnal#1_IDAcq#10_TEMP_.json"
a = up(string)
print(a)
print(os.path.basename(a))
Результаты:
ParseResult(scheme='http', netloc='127.0.0.1:8000', path='/GIULIO%20FERRARI%20FOLDER/Giulio%20_%20CSV/Py%20Script/sparse%20python/tiff_test.tiff_IDAnal', params='', query='', fragment='1_IDAcq#10_TEMP_.json')
Видите, теперь он не получает правильный фрагмент, который должен быть: "tiff_test .tiff_IDAnal # 1_IDAcq # 10_TEMP _. json "
РЕШЕНИЕ:
Фрагменту требуется символ" # "! Спасибо всем.