1. ホーム
  2. python

URLからファイル名を抽出し、それに単語を追加するには?

2023-10-03 14:27:14

質問

私は次のURLを持っています。

url = http://photographs.500px.com/kyle/09-09-201315-47-571378756077.jpg

このurlのファイル名を抽出したいのですが。09-09-201315-47-571378756077.jpg

このファイル名を取得したら、この名前でデスクトップに保存したいと思います。

filename = **extracted file name from the url**     
download_photo = urllib.urlretrieve(url, "/home/ubuntu/Desktop/%s.jpg" % (filename))

この後、写真のサイズを変更します。それが終わったら、リサイズしたものを保存して、ファイル名の最後に "_small" という単語を追加します。

downloadedphoto = Image.open("/home/ubuntu/Desktop/%s.jpg" % (filename))               
resize_downloadedphoto = downloadedphoto.resize.((300, 300), Image.ANTIALIAS)
resize_downloadedphoto.save("/home/ubuntu/Desktop/%s.jpg" % (filename + _small))

このことから、私が実現しようとしているのは、2つのファイル、すなわち、元の名前を持つ元の写真と、変更された名前を持つリサイズされた写真を得ることです。このように。

09-09-201315-47-571378756077.jpg

09-09-201315-47-571378756077_small.jpg

どうすればいいのでしょうか?

どのように解決するのですか?

あなたは urllib.parse.urlparse と共に os.path.basename :

import os
from urllib.parse import urlparse

url = "http://photographs.500px.com/kyle/09-09-201315-47-571378756077.jpg"
a = urlparse(url)
print(a.path)                    # Output: /kyle/09-09-201315-47-571378756077.jpg
print(os.path.basename(a.path))  # Output: 09-09-201315-47-571378756077.jpg