List
- 파이썬 프로그램의 입력과 출력
- 함수
- 사용자 입력과 출력
- 파일 읽고 쓰기
- 연습문제
파일 객체 = open('파일 이름',"파일열기모드)
: 파일 이름
으로 파일이 하나 생성되고 파일열기모드
로 읽기,쓰기,추가 모드 로 하나 선택해서 실행한다. 파일 객체.close()
: 열린 파일 객채를 해당 함수로 닫아줘라f = open("새파일.txt", 'w') # 이 때 "새파일" 이라는 제목으로 파일이 하나 생성됨
f.close()
파일 열기 모드
r
: read/읽기모드 - 파일을 읽기만 할 때w
: write/쓰기모드 - 파일을 내용에 쓸 때, 이미 같은 이름으로 파일이 존재할 경우 기존내용이 모두 사라지고 존재하지 않으면 새로운 파일이 생성된다.a
: add/추가모드 - 파일의 마지막에 새로운 내용을 추가할 때
f = open("C:/doit/새파일.txt", 'w') # "새파일" 앞에 생성시키고싶은 디렉터리를 넣어두면 거기에 생성된다.
f.close()
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
print(data)
open()
, write()
, close()
사용 필요f = open("C:/doit/새파일.txt", 'w')
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
f.write(data) # print() 대신 write() 사용
f.close()
***위의 결과값이 "새파일"내 저장되어 있다.
readline()
: 파일의 첫번째 줄을 끌어와출력 한다.# readline_test.py
f = open("C:/doit/새파일.txt", 'r') # 먼저 파일을 읽기 모드로 연다
line = f.readline() # 파일의 첫번째 줄을 출력한다.
print(line)
f.close()
1번째 줄입니다. # 출력
readline()
을 가지고 파일의 모든 줄을 읽게 하고 싶다면 무한루프
를 사용# readline_all.py
f = open("C:/doit/새파일.txt", 'r') # 먼저 파일을 읽기 모드로 연다
while True: # 무한 루프 사용
line = f.readline() # 무한 루프이기 때문에 파일의 첫번째 줄 부터 끝까지 계속 끌어와서 출력
if not line: break # 더이상 출력할 줄이 없으면 빠져나간다
print(line)
f.close()
readlines()
: 파일의 모든줄을 읽게하는 함수f = open("C:/doit/새파일.txt", 'r') # 먼저 파일을 읽기 모드로 연다
lines = f.readlines() # 파일 전체를 끌어와 읽는다
for line in lines:
print(line)
f.close()
f = open("새파일.txt",'r')
lines = f.readlines()
print(lines)
f.close
['신\n', '승\n', '호\n', '천\n', '재\n', '당\n', '^^\n']
***전체 읽어주긴 하는데 문장그냥 일렬로 쭉읽음 위에꺼는 한줄씩 딱딱 읽어주는데 for문을 사용하는 이유다.
read()
:파일 내용 전체를 문자열로 돌려줌 'readlines()` for문을 사용한 것과 동일하게 끌어와서 읽는다.f = open("C:/doit/새파일.txt", 'r')
data = f.read()
print(data)
f.close()
a
를 사용하면 기존 값을 유지하며 값을 추가할 수 있다. f = open("C:/doit/새파일.txt",'a')
for i in range(11, 20):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
with문
을 사용하면 f.close()
를 사용하여 따로 파일을 닫아줄 필요없다.with open("파일이름.txt","파일열기모드") as f
를 사용f = open("foo.txt", 'w')
f.write("Life is too short, you need python")
f.close()
with open("foo.txt", "w") as f: # with 와 as 를 사용
f.write("Life is too short, you need python")
명령 프롬프트 명령어 [인수1 인수2 ...]
: 바로 뒤에 적힌 파일이름을 인수로 받아 그 내용을 출력함.C:\> type a.txt
import sys
#sys1.py
import sys
args = sys.argv[1:] # argv[1]~ 를 출력하라구
for i in args: # 입력받은 인수를 for 문을 사용해 차례대로 출력
print(i)
***위 프로그램을 `C:\doit`에 저장하고 매개변수를 주어서 실행하는 법
C:\doit>python sys1.py aaa bbb ccc
***중요
argv[0] = sys1.py
argv[1] = aaa
argv[2] = bbb
argv[3] = ccc
*** 위를 실행시키면 아래 같이 나옴
aaa
bbb
ccc