idk FileNotFoundError: [Errno 2] Нет такого файла или каталога: - PullRequest
0 голосов
/ 26 апреля 2020

Я не знаю, почему я получаю такую ​​ошибку. Где я должен исправить эту ошибку, и она будет работать нормально?

               from urllib.request import urlopen
            from bs4 import BeautifulSoup as bs
            from urllib.parse import quote_plus

            baseUrl = 'https://search.naver.com/search.naver?                    where=image&sm=tab_jum&query='
            plusUrl = input('검색어를 입력하세요 : ')
            # 한글 검색 자동 변환
            url = baseUrl + quote_plus(plusUrl)
            html = urlopen(url)
            soup = bs(html, "html.parser")
            img = soup.find_all(class_='_img', limit=2)

            n = 1
            for i in img:
                imgUrl = i['data-source']
                with urlopen(imgUrl) as f:
                    with open('./img/' + plusUrl +         str(n)+'.jpg','wb') as h: # w - write b - binary
                        img = f.read()
                        h.write(img)
                n += 1
            print('다운로드 완료')

в коде ошибка

            Traceback (most recent call last):
              File "index.py", line 17, in <module>
                with open('./img/' + plusUrl + str(n)+'.jpg','wb') as h: # w - write b - b
            inary
            FileNotFoundError: [Errno 2] No such file or directory: './img/현빈1.jpg'

ИДК

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

, учитывая, что ./img находится на том же уровне каталогов, что и родительская папка вашего кода, и вы используете систему linux.

, поэтому вам нужно использовать ../, чтобы вернуться к предыдущему каталогу. поэтому ваш код должен быть with open("../img/", <other data>) тогда open("./img/",<other data>)

0 голосов
/ 26 апреля 2020

Убедитесь, что ваш каталог ./img существует. Опция 'wb' создает только сам файл, но не каталог.

В общем, для этой ошибки я бы сказал check, чтобы убедиться, что путь, по которому вы пытаетесь записать, существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...