[('tupleValueA','tupleValueB'), 'someString', ('anotherTupleA','anotherTupleB')]
난에서 라인을 읽고 싶어. 지금은 읽을 수 있습니다 그 (것)들, 안으로 작동하고 가치와 유형을 할당하기 위하여 끈에 작용한다 그러나 나는 파이썬이 이것을위한 더 높은 수준 방법이 있는지 생각해 보았다.
이 기능을 구현 한 후 높은 수준의 접근 방식을 찾으려고 시도했지만 찾지 못했습니다.
[('tupleValueA','tupleValueB'), 'someString', ('anotherTupleA','anotherTupleB')]
난에서 라인을 읽고 싶어. 지금은 읽을 수 있습니다 그 (것)들, 안으로 작동하고 가치와 유형을 할당하기 위하여 끈에 작용한다 그러나 나는 파이썬이 이것을위한 더 높은 수준 방법이 있는지 생각해 보았다.
이 기능을 구현 한 후 높은 수준의 접근 방식을 찾으려고 시도했지만 찾지 못했습니다.
찾고 계신 것은 eval입니다. 그러나이 함수는 행을 평가하고 실행한다는 점에 유의하십시오. 이제까지 신뢰할 수없는 입력으로 실행하지 마십시오! 출력 파일을 생성하는 스크립트를 제어 할 수있는 경우
>>> print eval("[('tupleValueA', 1), 'someString']")
[('tupleValueA', 1), 'someString']
, 나는 당신이 json 인코딩을 사용하는 것이 좋습니다 것입니다. JSON 형식은 목록 및 사전의 파이썬 문자열 표현과 매우 유사합니다. 그리고 훨씬 더 안전하고 강력하게 읽을 것입니다.
>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'
>>> json.loads('["foo", {"bar": ["baz", null, 1.0, 2]}]')
["foo", {"bar": ["baz", null, 1.0, 2]}]
설명하는 문제는 일반적으로 serialization이라고합니다. JavaScript Object Notation (JSON)은 인기있는 직렬화 프로토콜 중 하나입니다.
아마 일반적인 문자열을 사용하는 대신 pickle과 같은 모듈을 사용하여 데이터를 저장하는 것이 좋습니다. 이 방법을 사용하면 eval
과 관련된 많은 문제를 피하고보다 강력한 솔루션을 얻을 수 있습니다.
잘 산 세척은 작동하지 않습니다. 어제부터 내 질문을 참조하십시오. 목록은 8 백만 라인 길이이며 절인시 379,000 개의 키가 있습니다. 파일을 세 부분으로 나누고 필요에 따라 읽을 때도 너무 많은 부하가 걸립니다. 키가 고유 식별자이고 테이블 열이 날짜 (약 3600) 일 때 데이터베이스에 가고 싶지 않습니다. 하지만 고마워. – PyNEwbie
고맙습니다. 왜 내가 이것을 찾을 수 없었습니다. – PyNEwbie