• ๐Ÿ’ปPython:: input & File

    2024. 1. 26.

    by. @leeeun

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

    ๐Ÿ“Œ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) ๋ง๋ถ™์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ
      (ํŒŒ์ผ ๊ฒฝ๋กœ ๋ณต์‚ฌํ•˜๋ฉด ์—ญ์Šฌ๋ž˜์‹œ๊ฐ€ ๊ธฐ๋ณธ์œผ๋กœ ๋˜์–ด ์žˆ์Œ. ๊ทธ๋Œ€๋กœ ๋ณต๋ถ™ํ•˜๋ฉด ์˜ค๋ฅ˜ ๋ฐœ์ƒํ•จ)

    '๐Ÿ’ญ Study > : Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    ๐Ÿ’ปPython:: packages  (0) 2024.01.26
    ๐Ÿ’ปPython:: Class  (1) 2024.01.26
    ๐Ÿ’ปPython :: function ํ•จ์ˆ˜  (0) 2024.01.26
    ๐Ÿ’ปPython:: Module  (0) 2024.01.25
    ๐Ÿ’ปPython:: ์ œ์–ด๋ฌธ if & while & for  (0) 2024.01.25

    ๋Œ“๊ธ€