사용차 입출력

2023. 2. 9. 18:45코딩/파이썬

사용자 입출력

입력함수 input

1. a = input()
2. a = input("입력 : ")

두가지 방법으로 입력을 받을 수 있다. 첫 번째와 두 번째의 차이는 질문/안내문구를 출력하느냐 안하느냐다.

..

이렇게 q에 입력을 받으면 입력값이 q에 저장된다. input( )은 입력받은 모든 값을 문자열로 취급하기 때문에 숫자를 입력해도 그 값은 숫자가 아닌 문자열이라는 것에 주의해야 한다.

출력함수 print

1. print(변수)
2. print("python")
3. print("python" "is" "useful")

print함수는 입력한 자료형을 출력한다. 특정 값을 가리키는 변수를 출력할 수도 있고, 2번과 같이 문자열을 바로 입력할 수도 있다. 3번과 같이 각 문자열을 따옴표로 구분하면 띄어쓰기 없이 출력이 되는데 콤마(,)를 사용하면 문자열 사이에 띄어쓰기를 할 수 있다.

사용 예


2. 파일입출력

사용자 입출력에서는 사용자가 직접 값을 입력하는 방식이고, 결과값 출력은 모니터를 통해 이루어졌다.

파일 입출력은 파일로 입력하고, 결과값도 파일로 출력하는 방식이다.


1. 파일 생성하기

1. f = open("파일이름.확장자", "파일열기모드")
2. f = open("파일경로/파일이름.확장자", "파일열기모드")

1번과 같이 파일을 생성하면 프로그램을 실행한 디렉터리에 새 파일이 쓰기모드로 하나 생성된다. 만약 파일생성경로를 지정하고 싶다면 2번과 같이 작성하면 된다. 파일 열기 모드는 다음과 같다.

파일 열기 모드 동작
r 읽기 모드 - 파일을 읽기만 함
w 쓰기 모드 - 파일에 내용을 씀
a 추가 모드 - 파일의 마지막에 새로운 내용을 추가함

쓰기모드로 파일을 열면 해당 파일이 존재하지 않으면 새로운 파일을 생성하고, 이미 존재한다면 원래 있던 내용이 모두 삭제된다.

2번의 사용 예

f = open("C:/Users/prOv3rt/test.py","w")
f.close()

f.close( )는 열었던 파일을 닫아준다. 파이썬이 프로그램 종료 시 열려 있는 파일객체를 자동으로 닫아주긴 하지만, 쓰기모드로 열었던 파일을 닫지 않고 다시 사용하려면 오류가 발생하므로 f.close( )로 직접 닫아주는게 좋다.


2. 파일에 내용 쓰기

f.write( )

f = open("test.py", 'w')
data = """print("file created")\n""" "a = 5"
f.write(data)
f.close()

실행결과

화면에 데이터를 출력할 땐 print( )를 썼지만 파일에 출력할 때는 f.write( )를 쓴다.

위와 같이 변수로 전달할 수도 있고, 물론 문자열을 직접 쓰는 것도 된다.


3. 파일 읽기

readline( )
readlines( )
read( )

readline( )함수

f = open("test.py", 'r')
line = f.readline()
print(line)

f.close()

readline( )은 파일 내용을 한 줄씩 읽는다. 위와 같은 코드라면, 파일의 첫 번째 줄을 출력할 것이다.

readline( ) 실행결과

readlines( )함수

f = open("test.py", 'r')
lines = f.readlines()
print(lines)

f.close()

readlines( )는 파일의 모든 줄을 읽어서 각 줄을 요소로 갖는 리스트를 반환한다. (리스트기 때문에 lines[1]과 같이 특정 줄만 따로 출력할 수도 있다.) 따라서 아무런 처리를 하지 않으면 다음과 같이 줄 바꿈 문자(\n)가 같이 출력된다.

줄 바꿈 문자를 제거하려면 strip( ) 함수를 사용한다.

f = open("test.py", 'r')
lines = f.readlines()
for noescape in lines:
    noescape = noescape.strip()
    print(noescape)

f.close()

noescape 변수에 lines[0]과 lines[1]이 들어가고, strip( )함수가 lines[0]과 lines[1]뒤에 있는 줄 바꿈 문자를 제거하는 형식이다.

strip( ) 실행결과

read( )함수

f = open("test.py", "r")
str = f.read()
plain = str.strip()
print(f"파일 내용 : {plain}, 타입 : {type(str)}")

f.close()

read( )함수는 파일 전체 내용을 읽어 문자열로 반환한다.

read( ) 실행결과. 파일 내용을 담은 str변수 타입이 문자열임을 확인할 수 있다.

4. 파일에 내용 추가하기

이미 존재하는 파일에 내용을 추가하려면 읽기모드 'a'로 파일을 열면 된다.

f = open("test.py", "a")
newline = """print("new line is written")"""
f.write(newline)
f.close()

새 내용이 마지막 내용 다음에 추가되었다.

'코딩 > 파이썬' 카테고리의 다른 글

파이썬 데이터프레임(Dataframe)  (0) 2023.02.09
딕셔너리(Dictionary)  (0) 2023.02.09
리스트(List)  (0) 2023.02.09
모듈(Module)  (0) 2023.02.09
객체와 변수  (0) 2023.02.09