URL解析缺少片段-Python

问题描述 投票:0回答:1

我需要用给定的获取路径的文件名保存一个文件。

给出一个我想解析的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

您可以看到它解析URL,但是“ LongCtrl10min.tiff”不在片段部分,而是全部在路径部分。为什么会这样呢?也许因为“ AcquisitionPath”是一个字符串,并且UrlParse会将所有内容识别为唯一路径?

我需要使用给定的获取路径的文件名保存文件。给定一个URL,我想解析它并提取文件名,这是我的代码...我读了一个JSON参数并给出了...

python filenames urllib urlparse
1个回答
0
投票

urlparse()模块中的urllib函数返回ParseResult对象,而basename()中的os.path方法要以str作为参数。

© www.soinside.com 2019 - 2024. All rights reserved.