pythonでプログラミングしていて、IOError: [Errno 2] No such file or directory: '/Users/user/files/sample.txt'
のようなエラーがでた。
次のようなコードだ。
def download_file(url, dst_path):
data = urllib.urlopen(url).read()
lf = open(dst_path, mode='wb')
lf.write(data)
download_dir='/Users/user/files/'
download_file(url, download_dir + os.path.basename(url))
urlを開いて、データとってきて、それを dst_path に保存するというものだ。 os.path.basename(url)
のところはここではsample.txt
で、 download_dir + os.path.basename(url)
が、 /Users/user/files/sample.txt
となる。
なんでエラーが出るんだろうと思ったら、コマンドラインでこのpythonプログラムのあるディレクトリに移動して、このプログラムを走らせたんだけど、上のfilesディレクトリが、C:にあるのに、pythonプログラムがE:にあった。
つまり、 download_dir='/Users/user/files/'
を
download_dir='C:/Users/user/files/'
にしたらちゃんと動くようになった。