Python JSON 모듈에 '덤프' 특성이 없습니다.
2. Linux Python 2.7(x64 Linux)을 .dict
JSON 오브젝트에 접속합니다.
>>> import sys
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=0, releaselevel='final', serial=0)
는 용하려합합 i i i i i를 사용하려고 합니다.simplejson
로 되돌아가다json
(가 발생합니다 ( 표표 、 음음 、 음음 、 음음 、 음음 、 。
>>> try: import simplejson as json
... except ImportError: import json
...
>>> metadata = dict()
>>> metadata['foo'] = 'bar'
>>> print metadata
{'foo': 'bar'}
>>> json.dumps(metadata)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'dumps'
이 기능을 사용하는데 있어 제가 놓치고 있는 게 있나요?json
★★★★★★★★★★★★★★★★★」simplejson
Python 2.7 python python python python python python python python python?
비슷한 문제가 발생했지만 다른 커스텀모듈로 인해 발생하였습니다. 대본에 을 붙였습니다.json.py
Json.py 파일을 모듈로 로드하려고 했습니다.dumps 메서드는 사용할 수 없는 것이 분명합니다.
json.py 스크립트의 이름을 다른 이름(json2.py)으로 바꾸면 문제가 해결되었습니다.
보니 것이 .json
"Python" "Python" "Python 입니다.
>>> import json
>>> print json.__file__
/home/areynolds/opt/lib/python2.5/site-packages/json.pyc
그 오래된 것을 제거함으로써 문제가 해결되었다.감사합니다!
?json
★★★★★★★★★★★★★★★★★」simplejson
그그 두두 중나 ?? 같? 같??이 경우 실제 라이브러리 대신 python이 해당 파일을 로드합니다.
이 python 오류를 재현하는 방법:
AttributeError: 'module' object has no attribute 'dumps'
python's python's json에서 .파이다sys.path
"python" sys.path" json.py 라는 이름의 파일을 포함한 디렉토리를 추가했습니다.
옵션 1: json을 Import한 후 동일한 에일리어스를 가진 다른 모듈을 Import하여 웰을 포이즈닝합니다.
eric@dev /var/www/sandbox/eric $ python
>>> import json
>>> json.dumps([])
'[]'
>>> import sys as json
>>> json.dumps([])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'dumps'
옵션 2: python 경로에 json.py이라는 파일을 생성하여 웰을 포이즈닝합니다.
새 파일 json.py을 생성하여 저장합니다.이 코드를 입력합니다.
def foo():
print "bar"
python 터미널을 열고 json을 Import합니다.
eric@dev /var/www/sandbox/eric/wsgi $ python
>>> import json
>>> type(json)
<type 'module'>
>>> json.dumps([])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'dumps'
>>> json.foo()
bar
당신의 방법이 없다는 것을 말해주고 있어요.그러니 비단뱀에게 이 모듈의 성질에 대해 더 말해달라고 요청하면 누가 독살했는지에 대한 단서를 찾을 수 있을 것입니다.
>>> print json
<module 'json' from 'json.py'>
>>> dir(json)
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'foo']
>>> type(json)
<type 'module'>
Python 경로에 "json"이라고 하는 다른 스크립트가 있을 수 있습니다.이 스크립트는 실수로 Import된 것입니다.이 문제를 해결하려면 사용자가 관리하는 시스템의 이름을 바꾸거나
from __future__ import absolute_import
실수로 파일 이름을 다음과 같이 지명을 붙였습니다.json.py.
에러가 발생했습니다.
AttributeError: 부분적으로 초기화된 모듈 'json'에 속성 '덤프'가 없습니다(대부분 순환 가져오기로 인해).
을 「이름을 「이름을 붙여 주세요」로했습니다.json1.py
새로운 파일을 작성하는 대신.
도움이 되었으면 좋겠다
이전에 프로젝트에 추가한 json_extension 라이브러리를 제거하여 동일한 문제를 해결했습니다.
pip uninstall json_extensions
심지어 json.dump()를 실행하는 동안에도 같은 오류가 발생했습니다.이 경우 오류 문자열이 표시됩니다.
AttributeError: 'file' 개체에 'dump' 특성이 없습니다.
어떻게 고쳤는지...
같은 스크립트에서 파일 기술자의 "json"으로 변수 이름을 사용했기 때문에 이 오류가 발생하였습니다.그래서 변수 이름을 바꾸고 문제를 해결했습니다.
아래 문제와 해결 방법에 대해 논의했습니다.
문제: python에서 Import 함수를 호출하면 python은 작업 디렉토리 내에서 모듈을 찾으려고 합니다.로컬 디렉토리에서 찾을 수 없는 경우 표준 라이브러리 및 기타 글로벌 저장소를 찾습니다.따라서 json 모듈을 Import하려고 하면 디렉토리 내에서 검색하려고 합니다.또한 'json.py'이라는 이름의 파일이 있는 경우 python은 이 모듈을 로드하고 json.py 내에서 'filen' 함수를 찾으려고 합니다.파일 내에서 'filen' 함수가 발견되지 않으면 'filen' 객체에 속성 'filen'이 없습니다.
해결 방법: 'json.py' 파일의 이름을 json_file.py 또는 'json.py' 이외의 이름으로 변경합니다.
이 에러는 다른 컨텍스트에서 발생했지만 여전히 json이라는 이름의 두 가지 중 하나입니다.저는 Django(HTTP 요청에 대한 응답을 준비하는 Python 함수)에서 "뷰"라는 이름을 붙였는데, 이 경우 json 형식의 데이터 요청을 처리하기 위한 뷰입니다.
하지만 나는 그 경치를 "json"이라고 이름 붙였다.나쁜 수작이다.print dir(json)가 내 뷰 "json"에서 덤프 없는 응답을 반환했을 때 나는 혼란스러웠지만, 작동한 유사한 뷰에서 속성 "dumps"를 표시했다.
이 토론으로 나는 그 문제를 해결했다.
언급URL : https://stackoverflow.com/questions/11369734/python-json-module-has-no-attribute-dumps
'programing' 카테고리의 다른 글
반응 + 웹 팩: 'process.env'가 정의되지 않았습니다. (0) | 2023.02.17 |
---|---|
각도를 여러 번 로드하려고 했다. (0) | 2023.02.17 |
wordpress에 외부 javascript 파일 추가 (0) | 2023.02.17 |
배열 크기가 1보다 큰 문서에 대한 쿼리 (0) | 2023.02.13 |
JSON 데이터를 php에서html-data 속성으로 전달한 후 Javascript로 전달 (0) | 2023.02.13 |