After using the Jupiter Notebook in Windows 10 and installing the module with the pip command after obtaining the Flicker API key, the following program results in an error:
How should I deal with it?Please let me know.
Running Programs
Search and download photos in #Flickr
from flickrapi import FlickrAPI
from urllib.request import urlretrieve
from print import print
importos, time, sys
# Specify API key and secret (★ Rewrite below ★) ---(*1)
key="41c9b3fc161f7cab49d92985af058831"
secret="0a0fdc4f2b74cb90"
wait_time = 1# Number of seconds to wait (recommended at least 1)
# Download with keyword and directory name ---(*2)
defmain():
go_download('Tuna Sushi', 'sushi')
go_download('salad','salad')
go_download('Mabo Tofu', 'tofu')
# Search Flickr API for photos ---(*3)
def go_download(keyword,dir):
# Determine image retention path
savedir="./image/"+dir
if notos.path.exists(savedir):
os.mkdir (savedir)
# Download using API ---(*4)
flickr = FlickrAPI(key, secret, format = 'parsed-json')
res = flickr.photos.search(
text=keyword, #searchword
per_page=300, #Number of acquisitions
media='photos',# Search for photos
sort = "release", # sort by search terms
safe_search=1,#safesearch
extras='url_q, license')
# Review Search Results
photos=res ['photos']
print (photos)
try:
# Download images one at a time ---(*5)
for i, photo in enumerate (photos['photo']):
url_q = photo ['url_q' ]
filepath=savedir+'/'+photo['id']+'.jpg'
ifos.path.exists(filepath): continue
print(str(i+1)+":download=",url_q)
urlretrieve(url_q, filepath)
time.sleep(wait_time)
except:
import traceback
traceback.print_exc()
if__name__=='__main__':
main()
Error encountered
FileNotFoundError Traceback (most recent call last)
<ipython-input-10-23621884de0c>in<module>
48
49 if__name__=='__main__':
--- > 50 main()
<ipython-input-10-23621884de0c>in main()
12# Download with keyword and directory name ---(*2)
13 def main():
--->14 go_download ('Tuna Sushi', 'sushi')
15 go_download('Salad','salad')
16 go_download ('Mabo Tofu', 'tofu')
<ipython-input-10-23621884de0c> ingo_download (keyword, dir)
21 savedir="./image/"+dir
22 if notos.path.exists(savedir):
--- > 23os.mkdir (savedir)
24# Download using API ---(*4)
25 flickr = FlickrAPI (key, secret, format = 'parsed-json')
FileNotFoundError: [WinError3] The specified path could not be found: './image/sushi'
I think it was probably the situation in this article.
Makedirs
Error creating new directory in os.mkdir in a directory that does not exist
os.mkdir()
used to create a directory (folder) in Python, but an error (FileNotFoundError
) occurs when trying to create a new directory in a directory that does not exist.
importos
os.mkdir('not_exist_dir/new_dir')
# FileNotFoundError
In the context of the question, the following error occurred, so there was no image
directory on the upper side.
FileNotFoundError: [WinError3] The specified path could not be found: './image/sushi'
The countermeasure for this is
Create a directory recursively in os.madeirs
Using os.madeirs()
instead of os.mkdir()
creates an intermediate directory, allowing you to recursively create a directory in a deep hierarchy.
os.madeirs('not_exist_dir/new_dir')
In this example, the intermediate directory not_exist_dir
and the terminal directory new_dir
are created at once.Multiple new intermediate directories are acceptable.
So I'm going to use this part of the question source.
if notos.path.exists(savedir):
os.mkdir (savedir)
The solution should be as follows:
if notos.path.exists(savedir):
os.madeirs (savedir)
© 2024 OneMinuteCode. All rights reserved.