programing

특성 오류: 'module' 개체에 'urlretrieve' 특성이 없습니다.

goodsources 2023. 5. 16. 22:33
반응형

특성 오류: 'module' 개체에 'urlretrieve' 특성이 없습니다.

웹 사이트에서 mp3를 다운로드한 후 함께 참여하는 프로그램을 작성하려고 하지만 파일을 다운로드하려고 할 때마다 다음 오류가 발생합니다.

Traceback (most recent call last):
File "/home/tesla/PycharmProjects/OldSpice/Voicemail.py", line 214, in <module> main()
File "/home/tesla/PycharmProjects/OldSpice/Voicemail.py", line 209, in main getMp3s()
File "/home/tesla/PycharmProjects/OldSpice/Voicemail.py", line 134, in getMp3s
raw_mp3.add = urllib.urlretrieve("http://www-scf.usc.edu/~chiso/oldspice/m-b1-hello.mp3")
AttributeError: 'module' object has no attribute 'urlretrieve'

이 문제의 원인이 되는 라인은

raw_mp3.add = urllib.urlretrieve("http://www-scf.usc.edu/~chiso/oldspice/m-b1-hello.mp3")

Python 3을 사용하고 있으므로,urllib모듈을 더 이상 사용되지 않습니다.여러 모듈로 분할되었습니다.

이는 다음과 같습니다.urlretrieve:

import urllib.request
data = urllib.request.urlretrieve("http://...")

urlretrievePython 2.x와 동일한 방식으로 작동하므로 문제없이 작동할 것입니다.

기본적으로:

  • urlretrieve파일을 임시 파일에 저장하고 튜플을 반환합니다.(filename, headers)
  • urlopen를 반환합니다.Request누구의 물건.readmethod는 파일 내용을 포함하는 bytest 문자열을 반환합니다.

Python 2+3 호환 솔루션은 다음과 같습니다.

import sys

if sys.version_info[0] >= 3:
    from urllib.request import urlretrieve
else:
    # Not Python 3 - today, it is most likely to be Python 2
    # But note that this might need an update when Python 4
    # might be around one day
    from urllib import urlretrieve

# Get file from URL like this:
urlretrieve("http://www-scf.usc.edu/~chiso/oldspice/m-b1-hello.mp3")

다음과 같은 코드 행이 있다고 가정합니다.

MyUrl = "www.google.com" #Your url goes here
urllib.urlretrieve(MyUrl)

다음 오류 메시지를 수신하는 경우

AttributeError: module 'urllib' has no attribute 'urlretrieve'

그런 다음 다음 코드를 사용하여 문제를 해결해야 합니다.

import urllib.request
MyUrl = "www.google.com" #Your url goes here
urllib.request.urlretrieve(MyUrl)

언급URL : https://stackoverflow.com/questions/17960942/attributeerror-module-object-has-no-attribute-urlretrieve

반응형