๐Ÿ’ปPython:: input & File

์œผ๋‹ยท2022๋…„ 12์›” 1์ผ
0

๐Ÿ“‚์‚ฌ์šฉ์ž ์ž…๋ ฅ

๐Ÿ“Œinput()

์ž…๋ ฅ๋˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๋ฌธ์ž์—ด ์ทจ๊ธ‰

ํ”„๋กฌํ”„ํŠธ ์ฐฝ์„ ๋„์›Œ์„œ ์ž…๋ ฅ๋ฐ›๊ธฐ

๊ธฐ๋ณธ๊ตฌ์กฐ) input("๋„์šฐ๊ณ  ์‹ถ์€ ๋‚ด์šฉ")

ํ•œ ์ค„์— ์—ฌ๋Ÿฌ ๊ฐ’์„ ๋ฐ›๊ณ  ์‹ถ์„ ๋•Œ

split() ํ•จ์ˆ˜ ์ด์šฉ - string type
list=input().split() # ์ž…๋ ฅ ๋ฐ›์€ ์—ฌ๋Ÿฌ ๊ฐ’์„ ๋„์–ด์“ฐ๊ธฐ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ string type์œผ๋กœ list์— ๋„ฃ์–ด์คŒ.
list=input().split(',') #๊ณต๋ฐฑ์ด ์•„๋‹Œ ํŠน์ •๊ฐ’์— ๋”ฐ๋ผ ๋ถ„๋ฆฌํ•ด์ฃผ๊ณ  ์‹ถ์„ ๋•Œ(,๊ธฐ์ค€)
a,b=input().split() # ์งœ์žฅ๋ฉด, ์งฌ๋ฝ• ์ž…๋ ฅํ–ˆ๋‹ค๊ณ  ์น˜๋ฉด a์— ์งœ์žฅ๋ฉด, b์— ์งฌ๋ฝ• ์ €์žฅ๋จ.

map() ํ•จ์ˆ˜ ์ด์šฉ - int type
list=list(map(int,input().split()))

์ž…๋ ฅ์ด ์—ฌ๋Ÿฌ์ค„์ผ๋•Œ

#input
'''
20
leeeunda
ํ•ด๋ฆฌํฌํ„ฐ
์ง‘๊ฐ€๊ณ ์‹ถ๋‹ค
'''

import sys 
data=sys.stadin.read().splitlines()
#์ž…๋ ฅ๊ฐ’์„ ํ•œ ์ค„์”ฉ ์ฝ์–ด์„œ list๋กœ ๋งŒ๋“ ๋‹ค.
data[0]="20"
data[1]="leeeunda"...

๐Ÿ“Œprint์— ๋Œ€ํ•˜์—ฌ

<"๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ๋ฌธ์ž์—ด์€ +์—ฐ์‚ฐ๊ณผ ๋™์ผ>
print("I" "wanna" "sleep)
#์ถœ๋ ฅ๊ฒฐ๊ณผ Iwannasleep

<๋ฌธ์ž์—ด ๋„์–ด์“ฐ๊ธฐ๋Š” ์ฝค๋งˆ๋กœ>
print("์ž  ์ข€","์ž์ž")
#์ถœ๋ ฅ๊ฒฐ๊ณผ ์ž  ์ข€ ์ž์ž

<ํ•œ ์ค„์— ๊ฒฐ๊ณผ๊ฐ’์„ ์ด์–ด์„œ ์ถœ๋ ฅ>
for i in range(5):
	print(i,end=' ')
-> 0 1 2 3 4 5 ์ถœ๋ ฅ๋จ.
#๋งค๊ฐœ๋ณ€์ˆ˜ end๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ ๋ฌธ์ž๋ฅผ ์ง€์ •

๐Ÿ“‚File

๐Ÿ“ŒํŒŒ์ผ ์ƒ์„ฑ

  • ํŒŒ์ผ ๊ฐ์ฒด=open(ํŒŒ์ผ ์ด๋ฆ„, ํŒŒ์ผ ์—ด๊ธฐ๋ชจ๋“œ)
    r-ํŒŒ์ผ์„ ์ฝ๊ธฐ๋งŒ ํ•  ๋•Œ, w-ํŒŒ์ผ์— ๋‚ด์šฉ์„ ์“ธ ๋•Œ, a-ํŒŒ์ผ ๋งˆ์ง€๋ง‰์— ์ƒˆ๋กœ์šด ๋‚ด์šฉ ์ถ”๊ฐ€
  • ํŠน์ • ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ƒ์„ฑํ•˜๊ณ  ์‹ถ์„ ๋•Œ
f=open("C:/๊ฒฝ๋กœ์“ฐ๊ธฐ/ํŒŒ์ผ์ด๋ฆ„.txt",'w')
f.close()

<ํŒŒ์ผ๋ชจ๋“œ>

๐Ÿ“ŒํŒŒ์ผ ์“ฐ๊ธฐ

  • ํŒŒ์ผ์„ ์“ฐ๊ธฐ ๋ชจ๋“œ๋กœ ์—ฐ ํ›„ ํŒŒ์ผ ๊ฐ์ฒด.write(์“ธ ๋‚ด์šฉ) ํ˜•ํƒœ
f=open("C:/Users/ํŒŒ์ผ๊ฒฝ๋กœ/๊ณต๋ถ€ํ•˜๊ธฐ์‹ซ๋‹ค.txt",'w')
for i in range(1,11):
    data="%d๋ฒˆ์งธ ์ค„์ž…๋‹ˆ๋‹ค\n"%i
    f.write(data)
f.close()

๐Ÿ“Œ ํŒŒ์ผ ์ฝ๊ธฐ

  • readline ํ•จ์ˆ˜ ์ด์šฉ
    ํŒŒ์ผ๊ฐ์ฒด.readline()
    ๊ทธ๋ƒฅ ์‚ฌ์šฉํ•˜๋ฉด ์ฒซ๋ฒˆ์งธ ์ค„์„ ์ฝ์–ด์˜ด.
    ๋ฐ˜๋ณต๋ฌธ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ์ผ์„ ํ•œ ์ค„ ์”ฉ ์ฝ์–ด๋“ค์ด๊ณ , ๋” ์ด์ƒ ์ฝ์„ ์ค„์ด ์—†์„ ๊ฒฝ์šฐ ๋นˆ ๋ฌธ์ž์—ด(' ')๋ฆฌํ„ด

  • readlines ํ•จ์ˆ˜ ์ด์šฉ
    ํŒŒ์ผ๊ฐ์ฒด.readlines() ํŒŒ์ผ์˜ ๋ชจ๋“  ์ค„์„ ์ฝ์–ด์„œ ๊ฐ๊ฐ์˜ ์ค„์„ ์š”์†Œ๋กœ ๊ฐ–๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฆฌํ„ด

์ค„๋ฐ”๊ฟˆ(\n) ๋ฌธ์ž ์ œ๊ฑฐ

for๋ฌธ+strip ํ•จ์ˆ˜ ์ด์šฉ line=line.strip()

  • read ํ•จ์ˆ˜ ์ด์šฉ
    ํŒŒ์ผ๊ฐ์ฒด.read()
    ํŒŒ์ผ์˜ ๋‚ด์šฉ ์ „์ฒด๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฆฌํ„ด

  • for๋ฌธ์„ ์ด์šฉ

f=open("๊ฒฝ๋กœ/ํŒŒ์ผ์ด๋ฆ„.txt",'r')
for line in f
	print(line)
f.close()

๐Ÿ“Œ ํŒŒ์ผ์— ์ƒˆ๋กœ์šด ๋‚ด์šฉ ์ถ”๊ฐ€

์“ฐ๊ธฐ ๋ชจ๋“œ 'w'๊ณผ์˜ ์ฐจ์ด์ -> 'w'์€ ๊ธฐ์กด์˜ ํŒŒ์ผ ๋‚ด์šฉ์ด ๋ชจ๋‘ ์‚ฌ๋ผ์ง. 'a'๋Š” ๊ธฐ์กด์˜ ๊ฐ’์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ƒˆ๋กœ์šด ๊ฐ’๋งŒ ์ถ”๊ฐ€๋จ.

with๋ฌธ์„ ์ด์šฉํ•ด์„œ ์ž๋™์œผ๋กœ ํŒŒ์ผ ๋‹ซ๊ธฐ

with open("ํŒŒ์ผ์ด๋ฆ„",'๋ชจ๋“œ') as f:
with ๋ธ”๋ก์„ ๋ฒ—์–ด๋‚˜๋Š” ์ˆœ๊ฐ„ f๊ฐ€ ์ž๋™์œผ๋กœ close ๋จ.

์ธํ„ฐ๋„ท ํŒŒ์ผ ์ฝ์–ด์˜ค๊ธฐ

import urllib.request
url ์ฝ์–ด์„œ webpage ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ฝ์–ด์„œ ์ถœ๋ ฅ ๊ฐ€๋Šฅ

ํŒŒ์ผ ์ฃผ์˜์‚ฌํ•ญ

  • ๊ฐ€๊ธ‰์  close()๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํŒŒ์ผ ๋‹ซ์•„์ฃผ๊ธฐ. ์“ฐ๊ธฐ ๋ชจ๋“œ๋กœ ์—ด์—ˆ๋˜ ํŒŒ์ผ์„ ๋‹ซ์ง€ ์•Š๊ณ  ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒ
  • ์—ญ์Šฌ๋ž˜์‹œ ์ด์šฉํ•ด์„œ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ํ‘œ์‹œํ•  ๋•Œ๋Š” ์—ญ์Šฌ๋ž˜์‹œ ๋‘ ๊ฐœ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋ฌธ์ž์—ด ์•ž์— r๋ฌธ์ž(raw string) ๋ง๋ถ™์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ
    (ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณต์‚ฌํ•˜๋ฉด ์—ญ์Šฌ๋ž˜์‹œ๊ฐ€ ๊ธฐ๋ณธ์œผ๋กœ ๋˜์–ด ์žˆ์Œ. ๊ทธ๋Œ€๋กœ ๋ณต๋ถ™ํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒํ•จ)
profile
์•„์ด์ฟ 

0๊ฐœ์˜ ๋Œ“๊ธ€