[PYTHON] 목록을 파일로 저장하고 목록 유형으로 읽는 방법?
PYTHON목록을 파일로 저장하고 목록 유형으로 읽는 방법?
목록 점수 = [1,2,3,4,5]라고 가정하면 내 프로그램이 실행되는 동안 변경됩니다. 어떻게하면 파일에 저장하여 다음에 프로그램이 실행될 때 변경된 목록을 목록 유형으로 액세스 할 수 있습니까?
나는 시도했다 :
score=[1,2,3,4,5]
with open("file.txt", 'w') as f:
for s in score:
f.write(str(s) + '\n')
with open("file.txt", 'r') as f:
score = [line.rstrip('\n') for line in f]
print(score)
그러나이 결과는 목록에있는 요소가 정수가 아닌 문자열이됩니다.
해결법
-
==============================
1.이를 위해 pickle 모듈을 사용할 수 있습니다. 이 모듈에는 두 가지 방법이 있습니다.
이를 위해 pickle 모듈을 사용할 수 있습니다. 이 모듈에는 두 가지 방법이 있습니다.
https://docs.python.org/3.3/library/pickle.html 암호:
>>> import pickle >>> l = [1,2,3,4] >>> with open("test.txt", "wb") as fp: #Pickling ... pickle.dump(l, fp) ... >>> with open("test.txt", "rb") as fp: # Unpickling ... b = pickle.load(fp) ... >>> b [1, 2, 3, 4]
-
==============================
2.테스트 중에 텍스트 파일을 열고 내용을 쉽게 변경할 수 있기를 원했기 때문에 피클을 사용하지 않기로 결정했습니다. 그러므로, 나는 이것을했다 :
테스트 중에 텍스트 파일을 열고 내용을 쉽게 변경할 수 있기를 원했기 때문에 피클을 사용하지 않기로 결정했습니다. 그러므로, 나는 이것을했다 :
score = [1,2,3,4,5] with open("file.txt", "w") as f: for s in score: f.write(str(s) +"\n") with open("file.txt", "r") as f: for line in f: score.append(int(line.strip()))
따라서 파일의 항목은 문자열로 파일에 저장 되더라도 정수로 읽습니다.
-
==============================
3.피클을 사용하고 싶지 않은 경우 목록을 텍스트로 저장 한 다음 평가할 수 있습니다.
피클을 사용하고 싶지 않은 경우 목록을 텍스트로 저장 한 다음 평가할 수 있습니다.
data = [0,1,2,3,4,5] with open("test.txt", "w") as file: file.write(str(data)) with open("test.txt", "r") as file: data2 = eval(file.readline()) # Let's see if data and types are same. print(data, type(data), type(data[0])) print(data2, type(data2), type(data2[0]))
-
==============================
4.pickle 및 기타 직렬화 패키지가 작동합니다. .py 파일에 작성하여 가져올 수 있습니다.
pickle 및 기타 직렬화 패키지가 작동합니다. .py 파일에 작성하여 가져올 수 있습니다.
>>> score = [1,2,3,4,5] >>> >>> with open('file.py', 'w') as f: ... f.write('score = %s' % score) ... >>> from file import score as my_list >>> print(my_list) [1, 2, 3, 4, 5]
from https://stackoverflow.com/questions/27745500/how-to-save-a-list-to-a-file-and-read-it-as-a-list-type by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Gmail 및 Python을 통해 이메일 보내기 (0) | 2018.11.27 |
---|---|
[PYTHON] JavaScript에서 파이썬 호출하기 (0) | 2018.11.27 |
[PYTHON] 완전 일치를 반환하지 않습니까? (0) | 2018.11.27 |
[PYTHON] 쉼표를 사용할 때 예외 처리기의 구문이 잘못되었습니다. (0) | 2018.11.27 |
[PYTHON] 어떻게 파이썬에서 특정 문자 앞에 모든 문자를 제거하려면? (0) | 2018.11.27 |