Lang (40) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ ๐ Python * code๋ก Ubuntu file, directory ์ญ์ ํ๊ธฐ 1. ํ์ผ์ ์ง์ธ ๋ ๐ os.remove() import os os.remove(๊ฒฝ๋ก) - path๊ฐ ๋๋ ํ ๋ฆฌ(ํด๋)์ธ ๊ฒฝ์ฐ OSError๊ฐ ๋ฐ์ํฉ๋๋ค. - ํ์ฌ ์ฌ์ฉ์ค์ธ ํ์ผ์ ์ง์ฐ๋ ค๊ณ ํ ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. - windows exception ๋ฐ์ - unix directory entry๋ ์ ๊ฑฐ๋์ง๋ง ํ์ผ ์ฌ์ฉ์ด ๋๋๊ธฐ ์ ๊น์ง๋ ์ ์ฅ์ฅ์น์์ ์ ๊ฑฐ๋์ง ์์ต๋๋ค. 2. ๋น ๋๋ ํ ๋ฆฌ๋ฅผ ์ง์ธ ๋ ๐ os.rmdir() import os os.rmdir(๊ฒฝ๋ก) - ๋๋ ํ ๋ฆฌ๊ฐ ๋น์ด์์ง ์์ผ๋ฉด OSError๊ฐ ๋ฐ์ํฉ๋๋ค. 3. ๋๋ ํ ๋ฆฌ์ ๋ด์ฉ๋ฌผ ๋ชจ๋๋ฅผ ์ง์ธ ๋ ๐ shutil.rmtree() import shutil shutil.rmtree(๊ฒฝ๋ก[, ignore_errors[, oneror])] - ๋ค๋ง .. โ Solved * [Python] ํ๊ธ encoding์ด ๋์ง ์์ ๋ โ Linux: Ubuntu 16.04 LTS + 2020/03/03 Python 3.6์ ๋ฌธ์์ด ์ธ์ ๋ฐฉ๋ฒ์ด ๊ธฐ๋ณธ์ ์ผ๋ก utf-8 ์ด๊ธฐ ๋๋ฌธ์ ๋ค์์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ๋ฒ์ ๋ณ๋ก ๊ธฐ๋ณธ ์ธ/๋์ฝ๋ฉ ๋ฐฉ์์ด ๋ค๋ฅด๊ธฐ์ ๊ด๋ จ๋ ์๋ฌ๊ฐ ๋๋ฉด ์ฐพ์๋ณด๋ ๊ฒ์ด ์ข๊ฒ ๋ค. 1. ํ์ผ์ ๊ฐ์ฅ ์์ ์ฃผ์์ ์ฝ์ ํ๋ค. # -*- coding:utf-8 -*- ์์ ์ฃผ์๋ฌธ ์ดํ์ ๋์ค๋ ๋ชจ๋ ๋ฌธ์์ด์ด UTF-8 ํ์์ด๋ผ๋ ๊ฒ์ ๋ช ์ํ๋ ์ฝ๋์ด๋ค. ๋ณดํต์ ๊ฒฝ์ฐ ์์ ๋ฌธ์ฅํ๋๋ง ์ ์ด์ฃผ๋ ๊ฒ์ผ๋ก ์ ๋ฆฌ๊ฐ ๋๋ค. ํ์ง๋ง, ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค๋ณด๋ฉด ์ธ๋ถ์์ ๋ถ๋ฌ์จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ์ importํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ ์ด ๊ฒฝ์ฐ ๋งค๋ฒ ๊ฐ ํ์ผ ์์์ ์ฃผ์์ ์ฝ์ ํด ์ฃผ๊ฑฐ๋ ์๋์ ๋ฐฉ๋ฒ์ main file์๋ค๊ฐ ์ฌ์ฉํด์ค๋ค. 2. ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ธฐ๋ณธ.. ๐ 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 3 4 ๋ค์