를 사용하여 Python (Python 3.9.0, VS Code, MacOS)을 사용하여 csv 파일을 열려고합니다 with open
. 내가 가진 기본 코드는 다음과 같습니다.
import csv
import os
file_to_load = os.path.join("resources","original_file.csv")
with open(file_to_load) as starting_numbers:
print(starting_numbers)
내가 얻은 결과는 다음과 같습니다.
<_io.TextIOWrapper name='resources/original_file.csv' mode='r' encoding='UTF-8'>
내가 기대 한 결과는 다음과 같습니다.
<open file 'Resources/original_file.csv', mode 'r' at 0x[memory address]>
나는 우연히 이 질문에 4 년 전에에서,하지만 직접 내 문제와 관련이있을 것 같지 않습니다. 나는 현재 파일의 전체 읽기를 시도하고 있지 않고 메모리 할당만을 얻습니다.
<open file ...>
열린 파일의 파이썬 2 문자열 표현이었습니다. 파이썬 3에서 파일 관리는 다양한 기능을 구현하기 위해 계층으로 분해되었습니다. 텍스트 래퍼는 파일의 바이트를 완전히 유니 코드가 활성화 된 파이썬 3의 문자열로 디코딩하는 반면 바이너리 파일에는 리더 만 필요합니다. open
및 텍스트 I / O를 참조하십시오 .
>>> open('test.py')
<_io.TextIOWrapper name='a.py' mode='r' encoding='UTF-8'>
>>> open('test.py', 'rb')
<_io.BufferedReader name='a.py'>
텍스트 모드에서 파일을 열 때 TextIOWrapper
바이너리에 계층화됩니다.BufferedReader
>>> f = open('test.py')
>>> f.buffer
<_io.BufferedReader name='test.py'>
python 2 용으로 작성된 이전 예제는 반드시 python 2라고 언급하지 않으며이를 파악하기 위해 "찻잎을 읽어야"할 수도 있습니다. 다음과 같은 파일 객체 <open file ...>
는 죽은 선물입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다