Lang/๐ Python (14) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ ๐ Python * OS ๋ช ๋ น์ด ๊ฒฐ๊ณผ๋ฅผ Python ์ฝ๋์์ ์ฌ์ฉํ ๋! ๐ ๋ฆฌ๋ ์ค ๋ช ๋ น์ด๋ฅผ ํ์ด์ฌ ์ฝ๋์์ os.system์ ์ด์ฉํ์ฌ ์ข ์ข ์คํํ๊ณค ํ๋ค. ํ์ง๋ง os.system์ ์ธ ๊ฒฝ์ฐ ๋ฌธ์์ด ๊ฒฐ๊ณผ๊ฐ์ ๊ฐ์ ธ์ค๊ธฐ๋.. ๐ซ ํด์ ์ธํฐ๋ท์ผ๋ก ์ฐพ์๋ณด์๋๋ Subprocess ๋ผ๋ ๊ธฐ๋ณธ ๋ชจ๋์ ์ด์ฉํ์ฌ ๋ฌธ์์ด ๊ฒฐ๊ณผ๋ฅผ ์ ์ฝ๊ฒ ๋ณ์ ๊ฐ์ผ๋ก ์ ์ฅ ํ ์ ์์๋ค. ๋ด์ฉ์ ๋ฐ์ท ํด์จ ํฌ์คํ ์์ communicate๋ ํ์ผ์ด ํฌ๊ฑฐ๋ unlimitedํ ๋ถ๋ถ์์๋ ์ฐ์ง ๋ง๋ผ๊ณ ํ๋ค๋ ๋๊ธ์ ๋ณด์๋ค. ์ ๊ทธ๋ฐ์ง๊น์ง๋ ์์ธํ ๋ณด์ง ์์์ผ๋ ๊ทธ๋ฐ ์ํฉ์ด๋ผ๋ฉด ์ข ๋ ์ฐพ์๋ณด๊ณ ์ ์ฉํ๋๋ก ํ์. ํ์ด์ฌ๋ฟ๋ง ์๋๋ผ ๋ญ๋ ๋ฌธ์๋ฅผ ๋ณผ ๋๋ ์์ ์ ๋ฒ์ ๊ณผ ๋ฌธ์์์ ์ค๋ช ํ๋ ๋ฒ์ ์ด ๊ฐ์ ์ง๋ฅผ ํญ์ ๋ณด์์ผ ํ๋ค. Let's do this 1. check_output(...) import subprocess da.. ๐ Python * code๋ก File copy ํ๊ธฐ โ Linux : Ubuntu 16.04 LTS Shutil ๋ชจ๋์ ์ฌ์ฉํ์ฌ ํ์ผ์ ๋ณต์ฌํด๋ด ์๋ค. ์คํ ์์น์ ๋ฐ๋ผ ๊ฒฝ๋ก ์ค๋ฅ๊ฐ ๋ ์ ์์ผ๋ ๊ฒฝ๋ก์ ์ ๊ฒฝ ์จ์ ์คํํด์ฃผ์ธ์. 1. copy2(src, dst) import shutil shutil.copy2("๋ณต์ฌํ ํ์ผ๋ช ", "์๋ก๋ง๋๋ ํ์ผ๋ช ") 2. copyfile(src, dst) copyfile("๋ณต์ฌํ ํ์ผ๋ช ", "์๋ก๋ง๋๋ ํ์ผ๋ช ") - dst(์๋ก๋ง๋๋ ํ์ผ๋ช )์ด ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ ๋ฎ์ด ์ - pipe๋ character/block ๋๋ฐ์ด์ค๋ ๋ณต์ฌ ํ ์ ์์ - IOError ์์ธ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ์๊น 1. src๊ฐ ์กด์ฌํ์ง ์์ ๋ 2. src๊ฐ ์กด์ฌํ์ง๋ง ์ ๊ทผ ํ ์ ์์ ๋ 3. dst๊ฐ writableํ์ง ์์ ๋ = ์ฐ๊ธฐ ๊ถํ.. ์ด์ 1 2 ๋ค์