Language/Python [Python] ์™ธ์žฅํ•จ์ˆ˜
  • 728x90
    ๋ฐ˜์‘ํ˜•

     

     

     

     

     

    sys

    ๐Ÿ“Œ sys ๋ชจ๋“ˆ์€ ํŒŒ์ด์ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ณ€์ˆ˜๋“ค๊ณผ ํ•จ์ˆ˜๋“ค์„ ์ง‘์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ชจ๋“ˆ์ด๋‹ค.

    ๐ŸŽฏ ๋ช…๋ น ํ–‰์—์„œ ์ธ์ˆ˜ ์ „๋‹ฌํ•˜๊ธฐ - sys.argv

     

    ๋„์Šค ์ฐฝ์—์„œ ์œ„์˜ ์˜ˆ์ฒ˜๋Ÿผ test.py๋’ค์— ๋˜ ๋‹ค๋ฅธ ๊ฐ’๋“ค์„ ํ•จ๊ป˜ ๋„ฃ์–ด ์ฃผ๋ฉด sys.argv๋ผ๋Š” ๋ฆฌ์ŠคํŠธ์— ๊ทธ ๊ฐ’๋“ค์ด ์ถ”๊ฐ€๋œ๋‹ค.

    argv_test.pyํŒŒ์ผ์„ D:/Python/Mymodules๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ €์žฅํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

     

     

    ๋„์Šค ์ฐฝ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํ–‰.

     

    Python ์ด๋ผ๋Š” ๋ช…๋ น์–ด ๋’ค์˜ ๋ชจ๋“  ๊ฒƒ๋“ค์ด ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋‰˜์–ด์„œ sys.argv๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๊ฐ€ ๋จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

     

    ๐ŸŽฏ ๊ฐ•์ œ๋กœ ์Šคํฌ๋ฆฝํŠธ ์ข…๋ฃŒํ•˜๊ธฐ - sys.exit

     

    sys.exit๋Š” Ctrl+z๋‚˜ Ctrl+D๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ๋Œ€ํ™”ํ˜• ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ํŒŒ์ผ ๋‚ด์—์„œ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ์ค‘๋‹จ์‹œํ‚จ๋‹ค.

     

    ๐ŸŽฏ ์ž์‹ ์ด ๋งŒ๋“  ๋ชจ๋“ˆ ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•˜๊ธฐ - sys.path

     

    sys.path๋Š” ํŒŒ์ด์ฌ ๋ชจ๋“ˆ๋“ค์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ฆ‰, ์ด ์œ„์น˜์— ์žˆ๋Š” ํŒŒ์ด์ฌ ๋ชจ๋“ˆ๋“ค์€ ๊ฒฝ๋กœ์— ์ƒ๊ด€ ์—†์ด ์–ด๋””์—์„œ๋‚˜ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

     

     

    ์œ„์˜ ' '๋Š” ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งํ•œ๋‹ค.

     

     

    ์œ„์™€ ๊ฐ™์ด ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋žจ ํŒŒ์ผ์—์„œ sys.path.append๋ฅผ ์ด์šฉํ•ด ๊ฒฝ๋กœ๋ช…์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๊ณ  ๋‚œ ํ›„์—๋Š” D:/Pyhon/Mymodules๋ผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ด์ฌ ๋ชจ๋“ˆ์„ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

     

     

     

    piclkle

    ๐Ÿ“Œ pickle์€ ๊ฐ์ฒด์˜ ํ˜•ํƒœ๋ฅผ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ ํŒŒ์ผ์— ์ž์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๋ชจ๋“ˆ์ด๋‹ค. ๋‹ค์Œ ์˜ˆ๋Š” pickle๋ชจ๋“ˆ์˜ dumpํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋”•์…”๋„ˆ๋ฆฌ ๊ฐ์ฒด์ธ data๋ฅผ ๊ทธ๋Œ€๋กœ ํŒŒ์ผ์— ์ž์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ ์ค€๋‹ค.

     

     

    ๋‹ค์Œ์€ pickle.dump์— ์˜ํ•ด ์ €์žฅ๋œ ํŒŒ์ผ์„ pickle.load๋ฅผ ์ด์šฉํ•ด์„œ ์›๋ž˜ ์žˆ๋˜ ๋”•์…”๋„ˆ๋ฆฌ ๊ฐ์ฒด(data) ์ƒํƒœ ๊ทธ๋Œ€๋กœ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์˜ˆ์ด๋‹ค.

     

     

    ์œ„์˜ ์˜ˆ์—์„œ๋Š” ๋”•์…”๋„ˆ๋ฆฌ ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•˜์˜€์ง€๋งŒ ์–ด๋–ค ์ž๋ฃŒํ˜•์ด๋“  ์ƒ๊ด€์—†์ด ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

     

     

     

    os ๋ชจ๋“ˆ

    ๐Ÿ“Œ OS ๋ชจ๋“ˆ์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋‚˜ ๋””๋ ‰ํ„ฐ๋ฆฌ, ํŒŒ์ผ ๋“ฑ์˜ OS ์ž์›์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ชจ๋“ˆ์ด๋‹ค.

     

    ๐ŸŽฏ ๋‚ด ์‹œ์Šคํ…œ์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ’์„ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ - os.environ

    os.environ์€ ํ˜„์žฌ ์‹œ์Šคํ…œ์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ฐ’๋“ค์„ ๋ณด์—ฌ ์ค€๋‹ค.

     

     

    ๋ฆฌํ„ด๋ฐ›์€ ๊ฐ์ฒด๊ฐ€ ๋”•์…”๋„ˆ๋ฆฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

     

     

    ๐ŸŽฏ ๋””๋ ‰ํ„ฐ๋ฆฌ ์œ„์น˜ ๋ณ€๊ฒฝํ•˜๊ธฐ - os.chdir

    os.chdir์„ ์ด์šฉํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

     

     

    ๐ŸŽฏ ๋””๋ž™ํ„ฐ๋ฆฌ ์œ„์น˜ ๋ฆฌํ„ด๋ฐ›๊ธฐ - os.getcwd

    os.getcwd๋Š” ํ˜„์žฌ ์ž์‹ ์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ์œ„์น˜๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.

     

     

    ๐ŸŽฏ ์‹œ์Šคํ…œ ๋ช…๋ น์–ด ํ˜ธ์ถœํ•˜๊ธฐ - os.system

    ์‹œ์Šคํ…œ ์ž์ฒด์˜ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๊ธฐํƒ€ ๋ช…๋ น์–ด๋“ค์„ ํŒŒ์ด์ฌ์—์„œ ํ˜ธ์ถœํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

     

     

    ๐ŸŽฏ ์‹คํ–‰ํ•œ ์‹œ์Šคํ…œ ๋ช…๋ น์–ด์˜ ๊ฒฐ๊ณผ๊ฐ’ ๋ฆฌํ„ด๋ฐ›๊ธฐ - os.popen

    s.popen์€ ์‹œ์Šคํ…œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰์‹œํ‚จ ๊ฒฐ๊ณผ๊ฐ’์„ ์ฝ๊ธฐ ๋ชจ๋“œ ํ˜•ํƒœ์˜ ํŒŒ์ผ ๊ฐ์ฒด๋กœ ๋ฆฌํ„ดํ•œ๋‹ค.

     

     

    ๊ธฐํƒ€ ์œ ์šฉํ•œ os ๊ด€๋ จ ํ•จ์ˆ˜

    ํ•จ์ˆ˜ ์„ค๋ช…
    os.mkdir(๋””๋ ‰ํ„ฐ๋ฆฌ) ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
    os.rmdir(๋””๋ ‰ํ„ฐ๋ฆฌ) ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ญ์ œํ•œ๋‹ค. ๋‹จ, ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋น„์–ด์žˆ์–ด์•ผ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅ ํ•˜๋‹ค.
    os.unlink(ํŒŒ์ผ) ํŒŒ์ผ์„ ์ง€์šด๋‹ค.
    os.rename(src, dst) src๋ผ๋Š” ์ด๋ฆ„์˜ ํŒŒ์ผ์„ dst๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊พผ๋‹ค.

     

     

     

    shutil

    ๐Ÿ“Œ shutil์€ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•ด ์ฃผ๋Š” ํŒŒ์ด์ฌ ๋ชจ๋“ˆ์ด๋‹ค.

    ๐ŸŽฏ ํŒŒ์ผ ๋ณต์‚ฌํ•˜๊ธฐ - shutil.copy(src, dst)

    src๋ผ๋Š” ์ด๋ฆ„์˜ ํŒŒ์ผ์„ dst๋กœ ๋ณต์‚ฌํ•œ๋‹ค. ๋งŒ์•ฝ dst๊ฐ€ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ด๋ฆ„์ด๋ผ๋ฉด src๋ผ๋Š” ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ dst๋ผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋ณต์‚ฌํ•˜๊ณ  ๋™์ผํ•œ ํŒŒ์ผ ์ด๋ฆ„์ด ์žˆ์„ ๊ฒฝ์šฐ์—๋Š” ๋ฎ์–ด์“ด๋‹ค.

     

     

     

    glob

    ๐Ÿ“Œ ํŠน์ • ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ ์ด๋ฆ„ ๋ชจ๋‘๋ฅผ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“ˆ์ด glod ์ด๋‹ค.

    ๐ŸŽฏ ๋””๋ ‰ํ„ฐ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ค๊ธฐ - glob(pathname)

    glob ๋ชจ๋“ˆ์€ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด์˜ ํŒŒ์ผ๋“ค์„ ์ฝ์–ด์„œ ๋ฆฌํ„ดํ•œ๋‹ค. *, ?๋“ฑ์˜ ๋ฉ”ํƒ€ ๋ฌธ์ž๋ฅผ ์จ์„œ ์›ํ•˜๋Š” ํŒŒ์ผ๋งŒ ์ฝ์–ด ๋“ค์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

     

    ๋‹ค์Œ์€ D:/Python/Mymodules์ด๋ผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ๋Š” ํŒŒ์ผ ์ค‘ ์ด๋ฆ„์ด ๋ฌธ์ž q๋กœ ์‹œ์ž‘ํ•˜๋Š” ํŒŒ์ผ๋“ค์„ ๋ชจ๋‘ ์ฐพ์•„์„œ ์ฝ๋Š” ์˜ˆ์ด๋‹ค.

     

     

     

     

    tempfile

    ๐Ÿ“Œ ํŒŒ์ผ์„ ์ž„์‹œ๋กœ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•  ๋•Œ ์œ ์šฉํ•œ ๋ชจ๋“ˆ์ด ๋ฐ”๋กœ tempfile์ด๋‹ค. tempfile.mktemp()๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ์ž„์‹œ ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋ฌด์ž‘์œ„๋กœ ๋งŒ๋“ค์–ด์„œ ๋ฆฌํ„ดํ•œ๋‹ค.

     

     

    tempfile.TemporaryFile()์€ ์ž„์‹œ ์ €์žฅ ๊ณต๊ฐ„์œผ๋กœ ์‚ฌ์šฉ๋  ํŒŒ์ผ ๊ฐ์ฒด๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ์ด ํŒŒ์ผ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ ์“ฐ๊ธฐ ๋ชจ๋“œ(wb)๋ฅผ ๊ฐ–๋Š”๋‹ค.

    f.close() ๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด ์ด ํŒŒ์ผ ๊ฐ์ฒด๋Š” ์ž๋™์œผ๋กœ ์‚ฌ๋ผ์ง„๋‹ค.

     

     

     

    time

    ๐ŸŽฏ time.time

    time.time()์€ UTC(Universal Time Coordinated ํ˜‘์ • ์„ธ๊ณ„ ํ‘œ์ค€์‹œ)๋ฅผ ์ด์šฉํ•˜์—ฌ ํ˜„์žฌ ์‹œ๊ฐ„์„ ์‹ค์ˆ˜ ํ˜•ํƒœ๋กœ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. 1970๋…„ 1์›” 1์ผ 0์‹œ 0๋ถ„ 0์ดˆ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ง€๋‚œ ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ๋ฆฌํ„ดํ•œ๋‹ค.

     

     

    ๐ŸŽฏ time.localtime

    time.localtime ์€ time.time()์— ์˜ํ•ด์„œ ๋ฐ˜ํ™˜๋œ ์‹ค์ˆ˜๊ฐ’์„ ์ด์šฉํ•ด์„œ ์—ฐ๋„, ์›”, ์ผ, ์‹œ, ๋ถ„, ์ดˆ, ... ์˜ ํ˜•ํƒœ๋กœ ๋ฐ”๊พธ์–ด ์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.

     

     

    ๐ŸŽฏ time.asctime

    ์œ„์˜ time.localtime์— ์˜ํ•ด์„œ ๋ฐ˜ํ™˜๋œ ํŠœํ”Œ ํ˜•ํƒœ์˜ ๊ฐ’์„ ์ธ์ˆ˜๋กœ ๋ฐ›์•„์„œ ๋‚ ์งœ์™€ ์‹œใ…ฃ๊ฐ„์„ ์•Œ์•„๋ณด๊ธฐ ์‰ฌ์šด ํ˜•ํƒœ๋กœ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

     

     

    ๐ŸŽฏ time.ctime

    time.asctime(time.localtime(time.time())))์€ time.ctime()์„ ์ด์šฉํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค. asctime๊ณผ ๋‹ค๋ฅธ์ ์€ ctime์€ ํ•ญ์ƒ ํ˜„์žฌ ์‹œ๊ฐ„๋งŒ์„ ๋ฆฌํ„ดํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

     

     

    ๐ŸŽฏ time.strftime

     

    ์‹œ๊ฐ„์— ๊ด€๊ณ„๋œ ๊ฒƒ์„ ํ‘œํ˜„ํ•˜๋Š” ํฌ๋งท ์ฝ”๋“œ

    ํฌ๋งท์ฝ”๋“œ ์„ค๋ช… ์˜ˆ
    %a ์š”์ผ ์ค„์ž„๋ง Mon
    %A ์š”์ผ Monday
    %b ๋‹ฌ ์ค„์ž„๋ง Jan
    %B ๋‹ฌ January
    %c ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ์ถœ๋ ฅํ•จ 06/01/01 17:22:21
    %d ๋‚ (day) [00,31]
    %H ์‹œ๊ฐ„(hour)-24์‹œ๊ฐ„ ์ถœ๋ ฅ ํ˜•ํƒœ [00,23]
    %l ์‹œ๊ฐ„(hour)-12์‹œ๊ฐ„ ์ถœ๋ ฅ ํ˜•ํƒœ [01,12]
    %j 1๋…„ ์ค‘ ๋ˆ„์  ๋‚ ์งœ [001,366]
    %m ๋‹ฌ [01,12]
    %M ๋ถ„ [01,59]
    %p AM or PM AM
    %s ์ดˆ [00,61]
    %U 1๋…„ ์ค‘ ๋ˆ„์  ์ฃผ-์ผ์š”์ผ์„ ์‹œ์ž‘์œผ๋กœ [00,53]
    %w ์ˆซ์ž๋กœ๋œ ์š”์ผ [0(์ผ์š”์ผ),6]
    %W 1๋…„ ์ค‘ ๋ˆ„์  ์ฃผ-์›”์š”์ผ์„ ์‹œ์ž‘์ด๋กœ [00,53]
    %x ํ˜„์žฌ ์„ค์ •๋œ ๋กœ์ผ€์ผ์— ๊ธฐ๋ฐ˜ํ•œ ๋‚ ์งœ ์ถœ๋ ฅ 06/01/01
    %X ํ˜„์žฌ ์„ค์ •๋œ ๋กœ์ผ€์ผ์— ๊ธฐ๋ฐ˜ํ•œ ์‹œ๊ฐ„ ์ถœ๋ ฅ 17:22:21
    %Y ๋…„๋„ ์ถœ๋ ฅ 2001
    %Z ์‹œ๊ฐ„๋Œ€ ๋Œ€ํ•œ๋ฏผ๊ตญ ํ‘œ์ค€์‹œ
    %% ๋ฌธ์ž %
    %y ์„ธ๊ธฐ๋ถ€๋ถ„์„ ์ œ์™ธํ•œ ๋…„๋„ ์ถœ๋ ฅ 01

     

     

    ๐ŸŽฏ time.sleep

    time.sleep ํ•จ์ˆ˜๋Š” ์ฃผ๋กœ ๋ฃจํ”„ ์•ˆ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ์ด ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ผ์ •ํ•œ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์„ ๋‘๊ณ  ๋ฃจํ”„๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

     

     

    ์œ„ ์˜ˆ๋Š” 1์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. time.sleepํ•จ์ˆ˜์˜ ์ธ์ˆ˜๋Š” ์‹ค์ˆ˜ ํ˜•ํƒœ๋ฅผ ์“ธ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, 1์ด๋ฉด 1์ดˆ 0.5๋ฉด 0.5์ดˆ๊ฐ€ ๋œ๋‹ค.

     

     

    calendar

    ๐Ÿ“Œ calendar๋Š” ๋‹ฌ๋ ฅ์„ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ชจ๋“ˆ์ด๋‹ค.

     

    calendar.calendar(์—ฐ๋„)๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๊ทธํ•ด์˜ ์ „์ฒด ๋‹ฌ๋ ฅ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

     

     

    calendar.prcal(์—ฐ๋„)๋ฅผ ์‚ฌ์šฉํ•ด๋„ ์œ„์™€ ๋˜‘๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

     

     

    ๋‹ค์Œ์˜ ์˜ˆ๋Š” 2017๋…„ 07์›”์˜ ๋‹ฌ๋ ฅ๋งŒ ๋ณด์—ฌ ์ค€๋‹ค.

     

     

    ๐ŸŽฏ calendar.weekday

    weekday(์—ฐ๋„, ์›”, ์ผ)ํ•จ์ˆ˜๋Š” ๊ทธ ๋‚ ์งœ์— ํ•ด๋‹นํ•˜๋Š” ์š”์ผ ์ •๋ณด๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.

    ์š”์ผ ์ •๋ณด return value
    ์›”์š”์ผ 0
    ํ™”์š”์ผ 1
    ์ˆ˜์š”์ผ 2
    ๋ชฉ์š”์ผ 3
    ๊ธˆ์š”์ผ 4
    ํ† ์š”์ผ 5
    ์ผ์š”์ผ 6

     

     

    ์œ„์˜ ์˜ˆ์—์„œ 2017๋…„ 7์›” 21์ผ์€ ๊ธˆ์š”์ผ์ž„์„ ๋ณด์—ฌ ์ค€๋‹ค.

     

    ๐ŸŽฏ calendar.monthrange

    monthrange(์—ฐ๋„, ์›”) ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ๋ฐ›์€ ๋‹ฌ์˜ 1์ผ์ด ๋ฌด์Šจ ์š”์ผ์ธ์ง€์™€ ๊ทธ ๋‹ฌ์ด ๋ฉฐ์น ๊นŒ์ง€ ์žˆ๋Š”์ง€๋ฅผ ํŠœํ”Œ ํ˜•ํƒœ๋กœ ๋ฆฌํ„ดํ•œ๋‹ค.

     

     

    ์œ„์˜ ์˜ˆ๋Š” 2017๋…„ 7์›”์˜ 1์ผ์€ ํ† ์š”์ผ์ด๊ณ , ์ด๋‹ฌ์€ 31์ผ๊นŒ์ง€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ ์ค€๋‹ค.

     

     

    random

    ๐Ÿ“Œ random์€ ๋‚œ์ˆ˜ (๊ทœ์น™์ด ์—†๋Š” ์ž„์˜์˜ ์ˆ˜)๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๋ชจ๋“ˆ์ด๋‹ค. random๊ณผ randint์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณธ๋‹ค.

     

    0.0์—์„œ 1.0 ์‚ฌ์ด์˜ ์‹ค์ˆ˜ ์ค‘์—์„œ ๋‚œ์ˆ˜๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋Š” ์˜ˆ์ด๋‹ค.

     

    1์—์„œ 10์‚ฌ์ด์˜ ์ •์ˆ˜ ์ค‘์—์„œ ๋‚œ์ˆ˜๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค.

     

     

    ์œ„์˜ random_pop ํ•จ์ˆ˜๋Š” ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ ์ค‘์—์„œ ๋ฌด์ž‘์œ„๋กœ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์—ฌ ๊บผ๋‚ธ ๋‹ค์Œ ๊ทธ ๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค. ๊บผ๋‚ด์ง„ ์š”์†Œ๋Š” pop๋ฉ”์„œ๋“œ์— ์˜ํ•ด ์‚ฌ๋ผ์ง„๋‹ค.

     

    random_pop ํ•จ์ˆ˜๋Š” random ๋ชจ๋“ˆ์˜ choice ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง๊ด€์ ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

     

    random.choice ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์€ ๋ฆฌ์ŠคํŠธ์—์„œ ๋ฌด์ž‘์œ„๋กœ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์—ฌ ๋ฆฌํ„ดํ•œ๋‹ค.

     

    ๋ฆฌ์ŠคํŠธ์˜ ํ•ญ๋ชฉ์„ ๋ฌด์ž‘์œ„๋กœ ์„ž๊ณ  ์‹ถ์„ ๋•Œ๋Š” random.shuffle ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

     

     

    webbrowser

    ๐Ÿ“Œ webbrowser๋Š” ์ž์‹ ์˜ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ณธ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๊ฒŒ ํ•˜๋Š” ๋ชจ๋“ˆ์ด๋‹ค. ์•„๋ž˜์˜ ์˜ˆ์ œ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ž๋™์œผ๋กœ ์‹คํ–‰์‹œํ‚ค๊ณ  ํ•ด๋‹น URL์ธ http://google.com์œผ๋กœ ๊ฐ€๊ฒŒ ํ•ด์ค€๋‹ค.

     

    webbrowser์˜ open ํ•จ์ˆ˜๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด๋ฏธ ์‹คํ–‰๋œ ์ƒํƒœ์ด๋ฉด ์ž…๋ ฅ ์ฃผ์†Œ๋กœ ์ด๋™ํ•œ๋‹ค. ๋งŒ์•ฝ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์€ ์ƒํƒœ์ด๋ฉด ์ƒˆ๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ํ•ด๋‹น ์ฃผ์†Œ๋กœ ์ด๋™ํ•œ๋‹ค.

     

    open_new ํ•จ์ˆ˜๋Š” ์ด๋ฏธ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‹คํ–‰๋œ ์ƒํƒœ์ด๋”๋ผ๋„ ์ƒˆ๋กœ์šด ์ฐฝ์œผ๋กœ ํ•ด๋‹น ์ฃผ์†Œ๊ฐ€ ์—ด๋ฆฌ๋„๋ก ํ•œ๋‹ค.

     

     

    ์Šค๋ ˆ๋“œ๋ฅผ ๋‹ค๋ฃจ๋Š” threading ๋ชจ๋“ˆ

    ๐Ÿ“Œ ์ปดํ“จํ„ฐ์—์„œ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ํ”„๋กœ์„ธ์Šค(Process)๋ผ๊ณ  ํ•œ๋‹ค. ๋ณดํ†ต 1๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋Š” 1๊ฐ€์ง€ ์ผ๋งŒ ํ•˜์ง€๋งŒ, ์“ฐ๋ ˆ๋“œ๋ฅผ ์ด์šฉํ•˜๋ฉด ํ•œ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ 2๊ฐ€์ง€ ๋˜๋Š” ๊ทธ ์ด์ƒ์˜ ์ผ์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

     

     

    ๊ฒฐ๊ณผ :

     

    ์œ„ ๊ฒฐ๊ณผ๊ฐ’์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ์“ฐ๋ ˆ๋“œ๋Š” ๋ฉ”์ธ ํ”„๋กœ๊ทธ๋žจ๊ณผ๋Š” ๋ณ„๋„๋กœ ์‹ค์ƒ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    ์ด๋Ÿฌํ•œ ์“ฐ๋ ˆ๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ threading.Thread ํด๋ž˜์Šค์ด๋‹ค. ์ด ํด๋ž˜์Šค์˜ ์ฒซ๋ฒˆ์งธ ์ธ์ˆ˜๋Š” ํ•จ์ˆ˜ ์ด๋ฆ„์„, ๋‘๋ฒˆ์งธ ์ธ์ˆ˜๋Š” ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜์ธ ํ•จ์ˆ˜์˜ ์ž…๋ ฅ ๋ณ€์ˆ˜๋ฅผ ๋ฐ›๋Š”๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์“ฐ๋ ˆ๋“œ๋ฅผ ํด๋ž˜์Šค๋กœ ์ •์˜ํ•ด๋„ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

     

     

     

     

     

     

     

    728x90
    ๋ฐ˜์‘ํ˜•

    'Language > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    Python ์ •๊ทœ ํ‘œํ˜„์‹ ์‚ดํŽด๋ณด๊ธฐ  (0) 2017.07.24
    [Python] ํ”„๋กœ๊ทธ๋ž˜๋ฐ  (0) 2017.07.21
    [Python] ๋‚ด์žฅ ํ•จ์ˆ˜  (0) 2017.07.19
    [Python] ์˜ˆ์™ธ ์ฒ˜๋ฆฌ  (0) 2017.07.18
    Python ํŒจํ‚ค์ง€  (0) 2017.07.18
์ƒ๋‹จ์œผ๋กœ