Python におけるパスと URL の取り扱い

Python でパスや URL 操作を行う際の覚え書き.

ローカルファイルの取り扱い

ディレクトリ名とファイル名からパスを作成

import os

root_name = "/root/"
dir_name = "example"
file_name = "test.txt"

path1 = os.path.join(dir_name, file_name)
path2 = os.path.join(root_name, dir_name, file_name)
        

パスの存在確認

os.path.exists($PATH)
        
os.path.isdir($DIR)
        
os.path.isfile()
        

リモートファイル (URL 等) の取り扱い

url の結合

from urllib import parse

base_url = "https://example.com/"
endpoint = "/test/flag.txt"

parse.urljoin(base_url, endpoint)
        

url の解析

from urllib import parse

parsed_url = parse.urlparse($URL)
        
parsed = parse.urlparse("https://example.com:80/test?name=labu")

print(parsed.scheme) # https
print(parsed.netloc) # example.com:80
print(parsed.path) # /test
print(parsed.query) # name=labu
        
domain = parsed.netloc.split(":")[0]

print(domain) # example.com