Python 12 - 포맷팅, 파일입출력

2021. 5. 4. 19:05python

반응형

# 포맷팅

# 빈 자리는 빈 공간으로 두고, 오른쪽 정렬을 하되, 총 10자리 공간을 확보
# 빈자리는 빈공간, >는 오른쪽정렬, 10은 10자리 공간을 확보해서 500을 출력해달라는 표현
print("{0: >10}".format(500))

# 양수 일 땐 +로 표시, 음수 일 땐 -로 표시
print("{0: >+10}".format(500))
print("{0: >+10}".format(-500))

# 왼쪽 정렬을 하고, 빈칸을 _로 채움
print("{0:_<+10}".format(500))

# 3자리 마다 콤마를 찍어주기
print("{0:,}" .format(100000000000))

# 3자리마다 콤마를 찍어주고, +- 부호도 붙이기
print("{0:+,}" .format(100000000000))
print("{0:+,}" .format(-100000000000))

# 3자리마다 콤마 찍고, 부호 붙이고, 30자릿수 확보하고 # 돈이 많으면 좋으니 빈자리는 ^로 채워주기
print("{0:^<+30,}" .format(100000000000))

# 소수점 출력
print("{0:f}" .format(5/3))

# 소수점 출력하는데 특정 자릿수 까지만 출력 (소수점 3째자리에서 반올림)
print("{0:.2f}" .format(5/3))

 

---------------- 출력결과 -----------------

        500
      +500
      -500
+500______
100,000,000,000
+100,000,000,000
-100,000,000,000
+100,000,000,000^^^^^^^^^^^^^^
1.666667
1.67

 

 

# 파일 입출력

score_file = open("score.txt", "w", encoding="utf8")
print("수학 : 0", file=score_file)
print("영어 : 50", file=score_file)
score_file.close()

score_file = open("score.txt", "a", encoding="utf8") # a는 추가로 입력한다는 append를 의미
score_file.write("과학 : 80")
score_file.write("\n코딩 : 100") # score_file.write로 표현하면 줄 띄어씍가 안되어서 \n을 넣어준다.
score_file.close()

score_file = open("score.txt", "r", encoding="utf8") #reading
print(score_file.read())
score_file.close()

score_file = open("score.txt", "r", encoding="utf8")
print(score_file.readline()) # 줄별로 읽기, 한줄 읽고 커서는 다음 줄로 이동
print(score_file.readline()) # 줄바꿈을 안하고싶으면 end=""를 추가하면 된다.
print(score_file.readline())
print(score_file.readline()) 
score_file.close()

# 위에선 4줄인걸 내가 알고 있기 때문에 print문을 4번 복붙 한것인데
# 보콩은 몇줄인지 모르고 있다. 그럴때 사용하는 방법은 아래와 같다.

score_file = open("score.txt", "r", encoding="utf8")
lines = score_file.readlines() # 모든 line을 가져와서 list형태로 저장.
for line in lines:
	print(line, end="")
score_file.close()

---------------- 출력결과 -----------------

 

수학 : 0
영어 : 50
과학 : 80
코딩 : 100
수학 : 0

영어 : 50

과학 : 80

코딩 : 100
수학 : 0
영어 : 50
과학 : 80
코딩 : 100

반응형