파일 다루기¶
변수명.write("저장할 내용")
In [4]:
f= open("test.txt", 'w') # 파일 열기
f.write("파이썬 월드")
f.close() # 파일 닫기
# test.txt 파일이 생성됨
with문 사용
-파일을 open하면 무조건 close()해야함
-with문을 사용하면 close()하지 않아도 with블록이 끝나면 자동으로 close해주어 편리함
with open("파일이름.txt", 'w') as 변수명:
In [6]:
with open("test2.txt", 'w') as f:
f.write("파이썬 월드")
# test2.txt 파일이 생성됨
여러 개의 리스트를 한 줄에 쓰기
변수명.writelines("...\n...")
In [8]:
f=open("test3.txt", 'w')
f.writelines(["파이썬","배우기"])
f.close()
In [12]:
data="에 오신 것을 환영합니다."
f=open('test.txt', 'a') #파일에 내용 추가하기
f.write(data)
f.close()
#파이썬 월드에 오신 것을 환영합니다. -> 내용 저장됨
In [3]:
#반복문을 이용하여 내용 추가
n=0
f=open("test.txt", 'a')
while n<10:
data= "%d 숫자"%n
f.write(data)
n=n+1
f.close()
In [4]:
#test파일에 이전 내용이 삭제되고 내용이 추가됨
n=0
f=open("test.txt", 'w')
while n<10:
data= "%d 숫자"%n
f.write(data)
n=n+1
f.close()
문제1) 새로운 텍스트 파일 loop.txt를 생성하되, 이미 파일이 있는 경우 기존 파일의 내용을 추가한다.
1부터 100까지 한 칸씩만 띄우고 모두 한 줄에 저장한다.
1)
In [6]:
n=1
f=open("loop.txt", 'w')
while n<101:
data="%d "%n
f.write(data)
n=n+1
f.close()
2)
In [8]:
n=1
f=open("loop.txt", 'w')
while n<101:
data=str(n)+" "
f.write(data)
n=n+1
f.close()
파이썬에서 utf-8로 txt를 저장하기 위해서는 encoding="utf-8"를 사용한다.
In [25]:
f=open('test.txt', 'w', encoding="utf-8")
f.write("I have a dream, a song to sing\n\
To help me cope with anything\n\
If you see the wonder of a fairy tale\n\
You can take the future even\n\
if you fail I believe in angels\n\
Something good in everything")
f.close()
텍스트 파일 읽기
read() : 파일글자 읽기 / 모드 'r'
변수명.read()
readlines() : 한 줄씩 읽어 리스트로 반환하기
변수명.readlines()
readline() : 한 줄씩 부르기
변수명.readline()
In [26]:
f=open("test.txt", 'r', encoding="utf-8")
a=f.read()
print(a)
f.close()
In [27]:
f=open("test.txt", 'r', encoding="utf-8")
a=f.readlines() #해당 위치에서 전체내용 행렬로 리스트 부르기
print(a)
f.close()
In [28]:
f=open("test.txt", 'r', encoding="utf-8")
a=f.readline() #해당 위치에서 한 줄씩 부르기
print(a, end="")
a=f.readline()
print(a, end="")
a=f.readline()
print(a, end="")
a=f.readline()
print(a, end="")
a=f.readline()
print(a, end="")
a=f.readline()
print(a, end="")
f.close()
replace("찾을값", "바꿀값",[바꿀횟수])
In [29]:
f=open("test.txt", 'r', encoding="utf-8")
i=0
while True:
line=f.readline()
if not line:
break
print(line)
i=i+1
f.close()
In [30]:
f=open("test.txt", 'r', encoding="utf-8")
i=0
while True:
line=f.readline()
if not line:
break
print(line.replace("\n", ""))
i=i+1
f.close()
파일 안 글자의 통계정보 출력하기
변수명.split() / len()
In [31]:
f=open("test.txt", 'r', encoding="utf-8")
contents= f.read()
word_list= contents.split(" ")
line_list= contents.split("\n")
print("총 글자 수 : ", len(contents)) #공백포함
print("총 단어의 수 : ", len(word_list))
print("총 줄의 수 : ", len(line_list))
'Python' 카테고리의 다른 글
Python 기초05 (0) | 2020.09.07 |
---|---|
Python기초04_ 텍스트파일에서 특정단어를 원하는 단어로 바꾸기 (0) | 2020.09.06 |
Python 기초3 (0) | 2020.09.04 |
Python 기초2 (0) | 2020.09.04 |
Python 기초1 (0) | 2020.09.04 |