파일 생성하기
f = open("새파일.txt", 'w')
f.close()
파일 생성 기본 구조
파일 객체 = open(파일 이름, 파일 열기 모드)
파일 열기 모드
파일 열기 모드 | 설명 |
r | 읽기 모드 - 파일을 읽기만 할 때 사용 |
w | 쓰기 모드 - 파일에 내용을 쓸 때 사용 |
a | 추가 모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용 |
파일을 쓰기 모드로 열어 출력값 적기
# writedata.py
f = open("C:/doit/새파일.txt", 'w')
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
프로그램의 출력값을 파일에 직접 입력
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
print(data)
프로그램의 출력값을 모니터 화면에 출력
C:\Users> cd C:\doit
C:\doit>python writedata.py
C:\doit>
명령 프롬프트에서 실행하면 새파일.txt가 생성
프로그램의 외부에 저장된 파일을 읽는 여러 가지 방법
1. readline() 함수 이용하기
# readline_test.py
f = open("C:/doit/새파일.txt", 'r')
line = f.readline()
print(line)
f.close()
가장 첫번째 줄이 화면에 출력
# readline_all.py
f = open("C:/doit/새파일.txt", 'r')
while True:
line = f.readline()
if not line: break
print(line)
f.close()
모든 줄을 읽어서 화면에 출력
->while True: 무한 루프 안에서 f.readline()을 사용해 파일을 계속해서 한 줄씩 읽어 들인다. 만약 더 이상 읽을 줄이 없으면 break를 수행한다(readline()은 더 이상 읽을 줄이 없을 경우 빈 문자열('')을 리턴한다).
while 1:
data = input()
if not data: break
print(data)
사용자의 입력을 받아서 그 내용을 출력하는 함수
2. readline 함수 사용하기
f = open("C:/doit/새파일.txt", 'r')
lines = f.readlines()
for line in lines:
print(line)
f.close()
readlines 함수는 파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트로 돌려준다.
3. read 함수 사용하기
f = open("C:/doit/새파일.txt", 'r')
data = f.read()
print(data)
f.close()
f.read()는 파일의 내용 전체를 문자열로 돌려준다.
파일에 새로운 내용 추가하기
=>쓰기 모드('w')로 파일을 열 때 이미 존재하는 파일을 열면 그 파일의 내용이 모두 사라지게 된다. 하지만 원래 있던 값을 유지하면서 단지 새로운 값만 추가해야 할 경우도 있다. 이런 경우에는 파일을 추가 모드('a')로 열면 된다.
# adddata.py
f = open("C:/doit/새파일.txt",'a')
for i in range(11, 20):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
C:\Users> cd C:\doit
C:\doit>python adddata.py
C:\doit>
새파일.txt 파일을 추가 모드('a')로 열고 write를 사용해서 결괏값을 기존 파일에 추가해 적는 프로그램
추가 모드이므로 새파일.txt 파일이 원래 가지고 있던 내용 바로 다음부터 결괏값을 적기 시작한다.
with문과 함께 사용하기
f = open("foo.txt", 'w')
f.write("Life is too short, you need python")
f.close()
파일을 열면 위와 같이 항상 close해 주는 것이 좋다.
with open("foo.txt", "w") as f:
f.write("Life is too short, you need python")
with문을 사용하면 with 블록을 벗어나는 순간 열린 파일 객체 f가 자동으로 close된다.
sys 모듈로 매개변수 주기
파이썬에서는 sys 모듈을 사용하여 매개변수를 직접 줄 수있다. sys 모듈을 사용하려면 아래 예의 import sys처럼 import 명령어를 사용해야 한다.
#sys1.py
import sys
args = sys.argv[1:]
for i in args:
print(i)
입력받은 인수를 for문을 사용해 차례대로 하나씩 출력하는 프로그램이다.
#sys2.py
import sys
args = sys.argv[1:]
for i in args:
print(i.upper(), end=' ')
문자열 관련 함수인 upper()를 사용하여 명령 행에 입력된 소문자를 대문자로 바꾸어 주는 간단한 프로그램이다.
'Programming > Python' 카테고리의 다른 글
파이썬 알고리즘 (2) | 2024.10.05 |
---|---|
[파이썬] 프로그램의 입력과 출력 정리 (0) | 2021.02.16 |
[파이썬] 14. 사용자 입력과 출력 (0) | 2021.02.15 |
[파이썬] 13. 함수 (0) | 2021.02.14 |
[파이썬] 조건문 정리 (0) | 2021.02.14 |