ApP*_*PeL 10 python django file-io
我正在寻找一种使用Python从特定网址中提取文件名和扩展名的方法
让我们说URL看起来如下
picture_page = "http://distilleryimage2.instagram.com/da4ca3509a7b11e19e4a12313813ffc0_7.jpg"
Run Code Online (Sandbox Code Playgroud)
我将如何获得以下信息.
filename = "da4ca3509a7b11e19e4a12313813ffc0_7"
file_ext = ".jpg"
Run Code Online (Sandbox Code Playgroud)
Chr*_*tts 30
from urlparse import urlparse
from os.path import splitext, basename
picture_page = "http://distilleryimage2.instagram.com/da4ca3509a7b11e19e4a12313813ffc0_7.jpg"
disassembled = urlparse(picture_page)
filename, file_ext = splitext(basename(disassembled.path))
Run Code Online (Sandbox Code Playgroud)
唯一的缺点是你的文件名将包含一个前置/你可以随时删除.
Céd*_*ien 12
尝试使用urlparse.urlsplit拆分url,然后使用os.path.splitext检索文件名和扩展名(使用os.path.basename只保留最后一个文件名):
import urlparse
import os.path
picture_page = "http://distilleryimage2.instagram.com/da4ca3509a7b11e19e4a12313813ffc0_7.jpg"
print os.path.splitext(os.path.basename(urlparse.urlsplit(picture_page).path))
>>> ('da4ca3509a7b11e19e4a12313813ffc0_7', '.jpg')
Run Code Online (Sandbox Code Playgroud)
Nie*_*ein 10
filename = picture_page.split('/')[-1].split('.')[0]
file_ext = '.'+picture_page.split('.')[-1]
Run Code Online (Sandbox Code Playgroud)
# Here's your link:
picture_page = "http://distilleryimage2.instagram.com/da4ca3509a7b11e19e4a12313813ffc0_7.jpg"
#Here's your filename and ext:
filename, ext = (picture_page.split('/')[-1].split('.'))
Run Code Online (Sandbox Code Playgroud)
当您执行picture_page.split('/')时,它将从您的网址中返回一个字符串列表,并以分隔/。如果您知道python列表索引编制得很好,那么您就会知道-1将为您提供列表末尾的最后一个元素或第一个元素。在您的情况下,它将是文件名:da4ca3509a7b11e19e4a12313813ffc0_7.jpg
用delimeter拆分该.值,您将获得两个值:
da4ca3509a7b11e19e4a12313813ffc0_7和jpg,这是预期的,因为它们之间用一个句点分隔,该句点在split()调用中用作定界符。
现在,由于最后的拆分将在结果列表中返回两个值,因此您可以对其进行郁金香化。因此,基本上,结果将是:
filename,ext = ('da4ca3509a7b11e19e4a12313813ffc0_7', 'jpg')
| 归档时间: |
|
| 查看次数: |
19225 次 |
| 最近记录: |