728x90
1. 파일 읽기
▶ 파일 읽는 순서
* 파일 열기: open() 함수 사용
* 파일 읽기: Read를 의미하는 "r" 적어주기
*파일 쓰기: "w" 적어주기
* 파일 닫기: 변수명.close()
변수명 = open("파일경로/파일이름", "r")
▶ readline() 함수
: 파일에 담아준 데이터를 읽기 위한 함수
* readline() : 파일의 내용을 한 행씩 읽어옴
* readlines() : 파일의 내용을 한꺼번에 읽어 리스트에 저장함
[연습문제]
* 파일의 내용을 모니터에 출력할 때 몇 번째 행에 어떤 내용이 있는지 알아볼 수 있도록 제일 앞에 행 번호가 붙도록 출력하기
inFile = None
lineNum = 1
inFile = open("C:/FirstPython/myData1.txt", "r")
while True :
inStr = inFile.readline()
if inStr == "" :
break
print(lineNum, ":", inStr, end = '')
lineNum += 1
inFile.close()
2. 파일 쓰기
: 결과를 파일에 쓰게 되면 모니터에 나오지 않고, 파일로 직접 저장됨.
* writelines(): 파일에 결과를 씀
변수명 = open("파일경로/파일이름", "w")
▶ 직접 입력한 내용을 파일에 쓰기
outFile = None
outStr = ""
outFile = open("C:/FirstPython/myData2.txt", "w")
outStr = "안녕하세요??"
outFile.writelines(outStr+"\n")
outStr = "반갑습니다~~"
outFile.writelines(outStr+"\n")
outStr = "자주만나요^&^"
outFile.writelines(outStr+"\n")
outFile.close()
print("---myData2.txt 파일이 저장됨---")
▶ 사용자에게 입력받은 내용을 파일에 쓰기
outFile = None
outStr = ""
outFile = open("C:/FirstPython/myData3.txt", "w")
while True :
outStr = input("내용 입력 => ")
if outStr != "" :
outFile.writelines(outStr+"\n")
else :
break
outFile.close()
print("---myData3.txt 파일이 저장됨---")
▶ 파일에서 읽어온 내용으로 파일 생성해서 쓰기
inFile, outFile = None, None
inStr = ""
inFile = open("C:/firstpython/myData3.txt","r")
outFile = open("C:/firstpython/myNote.txt","w")
inList = inFile.readlines()
for inStr in inList :
outFile.writelines(inStr)
inFile.close()
outFile.close()
print("---myData3.txt가 myNote.txt로 복사되었음---")
[연습문제]
* 보안이 필요한 파일의 내용을 파일로 암호화해서 저장하기
▶ 글자 암호화 하는 방법
* ord(문자) : 문자의 고유 숫자를 알려줌
* chr(숫자) : 고유 숫자에 해당하는 문자를 알려줌
secureFile = None
inStr, secure = "",""
secureFile = open("C:/firstpython/secure.txt", "w", encoding = "UTF-8")
while True :
inStr = input("스파이에게 전달할 메시지 => ")
if inStr == "" :
break
for ch in inStr :
num = ord(ch) # 문자의 고유 숫자를 출력해서
num += 100 # 100을 더한 뒤
secure += chr(num) # 100을 더한 숫자에 해당하는 문자값을 다시 출력
secureFile.writelines(secure)
secureFile.close()
print("---secure.txt 암호화 완료---")
[연습문제]
* 수업에 결석한 친구에게 강의노트 전달해주기
inFile , outFile = None, None
inStr = ""
inFile = open("C:/firstpython/pythonNote.txt", "r")
outFile = open("C:/firstpython/myNote.txt", "w")
inList = inFile.readlines()
for inStr in inList :
outFile.writelines(inStr)
inFile.close()
outFile.close()
print("---pythonNote.txt가 myNote.txt로 복사되었음---")
728x90
댓글