반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 컴퓨터비전
- 알고리즘
- 네트워크보안
- 소프트웨어공학
- 클라우드컴퓨팅
- 데이터분석
- 2
- 자료구조
- 프로그래밍언어
- Yes
- I'm Sorry
- 버전관리
- 데이터베이스
- 프로그래밍
- 파이썬
- 사이버보안
- 머신러닝
- 컴퓨터과학
- 소프트웨어
- 인공지능
- 보안
- 코딩
- 웹개발
- 자바스크립트
- 딥러닝
- 데이터과학
- 컴퓨터공학
- 네트워크
- 빅데이터
- 데이터구조
Archives
- Today
- Total
스택큐힙리스트
( _io.TextIOWrapper) 데이터를 읽거나 출력하는 방법은 무엇인가요? 본문
반응형
다음 코드를 사용하여 파일을 열고 내용을 읽고 필요하지 않은 줄을 삭제 한 다음 데이터를 파일에 쓰고 하류 분석을 위해 파일을 읽으려고합니다.
with open(chr2_head25.gtf, 'r') as f,\
open('test_output.txt', 'w+') as f2:
for lines in f:
if not lines.startswith('#'):
f2.write(lines)
f2.close()
이제 f2
데이터를 읽고 pandas 또는 다른 모듈에서 추가 처리를하려고하지만 데이터를 읽는 동안 문제가 발생합니다.
데이터 = f2 # 작동하지 않음
print(데이터) # 출력결과
<_io.TextIOWrapper name='test_output.txt' mode='w+' encoding='UTF-8'>
데이터 = io.StringIO(f2) # 작동하지 않음
# 오류 메시지
Traceback (most recent call last):
File /home/everestial007/PycharmProjects/stitcher/pHASE-Stitcher-Markov/markov_final_test/phase_to_vcf.py, line 64, in <module>
데이터 = io.StringIO(f2)
TypeError: initial_value must be str or None, not _io.TextIOWrapper
답변 1
파일은 이미 닫혔으며 (이전 with
블록이 끝날 때), 파일에 대해 더 이상 아무 작업도 수행할 수 없습니다. 파일을 다시 열려면 다른 with 문을 생성하고 파일을 읽을 read
속성을 사용하십시오.
with open('test_output.txt', 'r') as f2:
data = f2.read()
print(data)
답변 2
( _io.TextIOWrapper) 데이터를 읽거나 출력하는 방법은 다음과 같습니다. TextIOWrapper는 파이썬에서 텍스트 파일을 읽고 쓰기 위해 제공되는 클래스입니다. 이 클래스를 사용하여 파일에서 데이터를 읽거나 데이터를 파일에 출력할 수 있습니다.먼저, 파일을 열고 파일 객체를 생성해야 합니다. 파일 객체는 open 함수를 사용하여 생성할 수 있습니다. 이때 파일 경로와 파일을 어떤 모드로 열 것인지를 지정해야 합니다. 읽기 모드로 열기 위해서는 r을, 쓰기 모드로 열기 위해서는 w를, 추가 모드로 열기 위해서는 a를 지정합니다. 그 외에도 텍스트 파일을 이진 파일로 열기 위해 b를 지정할 수도 있습니다.
파일을 열었다면, 데이터를 읽거나 출력하기 위해 다양한 메서드를 사용할 수 있습니다. 일반적으로 데이터를 한 줄씩 읽고자 할 때는 readline 메서드를 사용하면 됩니다. 이 메서드는 파일에서 한 줄을 읽어온 후, 파일 포인터를 다음 줄로 이동시킵니다. 반복문을 활용하여 파일의 끝까지 순차적으로 읽을 수 있습니다.
데이터를 출력하기 위해서는 write 메서드를 사용합니다. 이 메서드에 출력하고자 하는 데이터를 전달하면 해당 데이터가 파일에 쓰여집니다. 데이터를 한 줄씩 쓰고자 할 때는 writelines 메서드를 사용할 수도 있습니다. 이 메서드는 리스트 형태로 여러 줄의 데이터를 전달하여 파일에 쓰게 됩니다.
데이터를 모두 읽거나 쓴 후에는 파일을 닫아주어야 합니다. 파일을 닫는 것은 자원 낭비를 막기 위해서 중요합니다. close 메서드를 사용하여 파일을 닫을 수 있습니다. 또는 with문을 사용하여 파일을 열었을 때, 해당 블록을 벗어나면 자동으로 파일이 닫히도록 할 수도 있습니다.
이렇게 ( _io.TextIOWrapper) 데이터를 읽고 출력하는 방법에 대해 알아보았습니다. 텍스트 파일에서 데이터를 처리하거나 저장해야 할 때, 위에서 소개한 방법들을 활용하여 원하는 작업을 수행할 수 있습니다.
반응형
Comments