LoginSignup
1
0

More than 1 year has passed since last update.

IsADirectoryError: [Errno 21] Is a directory: の解決例

Posted at

何が起きた?

pdfファイル自動ダウンロードのロジックを作ろうとしたときに、保存のファイル名をちゃんと指定しているはずなのに表記のエラーで動かなくなるということが起きました。

原因(結論)

下記のようにファイル名で使用するつもりのものをディレクトリ作成で指定してしまっていたからでした。

エラーが出る記述
import urllib
import os

# ファイル名設定
filename = xxx.pdf

# 保存先のディレクトリを自動で用意
os.makedirs('/Users/user/python_test/resources/' + filename)  # ←ここで間違ってファイル名でディレクトリを作成している

# 保存する場所とファイル名の指定
savepath = "/Users/user/python_test/resources/" + filename

# pdfのurl
url = "https://xxx.com/xxx.pdf"

# 取得して保存
urllib.request.urlretrieve(url, savepath)

解決方法

os.makedirsを正しく行うことでエラーが解消できました。

正しい記述
import urllib
import os

# ファイル名設定
filename = xxx.pdf

# 保存先のディレクトリを自動で用意
os.makedirs('/Users/user/python_test/resources/')  # ←正しいディレクトリ名を指定した

# 保存する場所とファイル名の指定
savepath = "/Users/user/python_test/resources/" + filename

# pdfのurl
url = "https://xxx.com/xxx.pdf"

# 取得して保存
urllib.request.urlretrieve(url, savepath)
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0