์ ํ ์ ์ ํ๋ก์ ํธ์์ ์ฌ์ฉ๋๋ ๋ก์ง์ ๋ํด์
๋ฅ๋ฌ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ์ฐ์๋ ์ฝ๋์ ๋ํด์ ์กฐ์ฌํด๋ณด์๋ค.
default_storage
default_storage๋ Django์์ file manage๋ฅผ ์ฝ๊ฒ ํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
FileSystemStorage ํด๋์ค๋ ๋ก์ปฌ ํ์ผ ์์คํ
์์ ๊ธฐ๋ณธ ํ์ผ ์คํ ๋ฆฌ์ง๋ฅผ ๊ตฌํํ๋ค. ๋ณ๋์ ์ธ์๊ฐ ์์ด ์์ฑํ๋ค๋ฉด
ํ์ผ์ ์ ์ฅํ ๋๋ ํ ๋ฆฌ์ Root ๊ฒฝ๋ก๋ settings.py์ MEDIA_ROOT ๊ฐ์ด๋ฉฐ, ์ ์ฅ๋ ํ์ผ์ servingํ๋ URL ๋ํ
settings.py์ MEDIA_URL ๊ฐ์ด๋ค.
default_storage์ ์ฃผ์ ๋ฉ์๋
from django.core.files.storage import default_storage
file = request.FILES['file']
# ์ง์ ๋ ๊ฒฝ๋ก์ ํ์ผ ์ ์ฅ
path = default_storage.save('path/to/file', file)
print(path) # 'path/to/file'
# ํ์ผ ์ ์ฒด ํฌ๊ธฐ(byte)
default_storage.size(path) # 11
# ์ง์ ๋ ํ์ผ ์ด๊ธฐ
default_storage.open(path).read()
# ์ง์ ๋ ํ์ผ ์ญ์
default_storage.delete(path)
# ์ง์ ๋ ํ์ผ ์กด์ฌ ์ฌ๋ถ
default_storage.exists(path) # False
[ํ๋ก์ ํธ ์ ์ฉ]
# ์ด๋ฏธ์ง ์
๋ก๋๋ฅผ ์ํ ์์ ํด๋ ์์ฑ : style_transfer/input
default_storage.save('style_transfer/input/input_img.jpg', ContentFile(file.read()))
[์ถ์ฒ] : https://chagokx2.tistory.com/62
[Django Basic 13] default_storage
default_storage default_storage ๋ Django์์ file manage๋ฅผ ์ฝ๊ฒ ํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค. Django์ ๊ธฐ๋ณธ ํ์ผ ์ ์ฅ์๋ settings.py ์ DEFAULT_FILE_STORAGE ์ค์ ์ ์ํด ์ ๊ณต๋๋ค. ํด๋น ์ค์ ํญ๋ชฉ์ defau..
chagokx2.tistory.com
shutil.rmtree()
ํ์ผ๊ณผ ๋๋ ํฐ๋ฆฌ ์ญ์ ํ๊ธฐ
shutil ๋ชจ๋์๋ ํ์ผ์ ์ญ์ ํ๋ ๊ธฐ๋ฅ์ด ํฌํจ๋ผ ์์ง ์์ ๋ฏํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ญ์ ํ๋ ํจ์์ธ rmtree()๋ ๋ถ๋ช
ํฌํจ๋ผ ์์ต๋๋ค. ์ญ์ ๋ ๋๋๋ฆด ์ ์๊ธฐ ๋๋ฌธ์ ์ญ์ ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ํด์งํต์์ ์ฐพ์ ์ ์์ ํ
๋ ์ฃผ์ํ์ธ์.
๋ค์ ์์ ๋ Original-Copy ๋๋ ํฐ๋ฆฌ๋ฅผ ์๊ตฌ์ ์ผ๋ก ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
import shutil
shutil.rmtree('Original-Copy')
[ํ๋ก์ ํธ ์ ์ฉ]
shutil.rmtree('style_transfer/input/')
[์ถ์ฒ] : https://code.tutsplus.com/ko/tutorials/file-and-directory-operations-using-python--cms-25817
ํ์ด์ฌ์ ์ด์ฉํ ํ์ผ ๋ฐ ๋๋ ํฐ๋ฆฌ ์์
์ด์ ํํ ๋ฆฌ์ผ์์๋ ํ์ผ์ ์ฝ๊ณ , ์ด๊ณ , ๋ซ๊ณ , ์ฐ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช
ํ์ต๋๋ค. ์ด๋ฒ ํํ ๋ฆฌ์ผ์์๋ ํ์ผ๊ณผ ๋๋ ํฐ๋ฆฌ(ํด๋)์์ ์ํํ ์ ์๋ ๋ค์ํ ์์
์ ๋ํด ์ข ๋ ์์๋ณด๊ฒ ์ต๋๋ค. ์ฌ
code.tutsplus.com
glob ๋ชจ๋์ glob ํจ์ ์ฌ์ฉ๋ฒ
ํน์ ํ ํจํด์ด๋ ํ์ฅ์๋ฅผ ๊ฐ์ง ํ์ผ๋ค์ ๊ฒฝ๋ก๋ ์ด๋ฆ์ด ํ์ํ ๋๊ฐ ์๋ค.
glob ๋ชจ๋์ glob ํจ์๋ ์ฌ์ฉ์๊ฐ ์ ์ํ ์กฐ๊ฑด์ ๋ง๋ ํ์ผ๋ช
์ ๋ฆฌ์คํธ ํ์์ผ๋ก ๋ฐํํ๋ค.
๋จ, ์กฐ๊ฑด์ ์ ๊ท์์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์์
๋ฑ์์๋ ์ฌ์ฉํ ์ ์๋ '*'์ '?'๊ฐ์ ์์ผ๋์นด๋๋ง์ ์ง์ํ๋ค.
[ํ๋ก์ ํธ ์ ์ฉ]
list_of_files = glob.glob('style_transfer/output/*') # * means all if need specific format then *.csv
[์ถ์ฒ] : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=siniphia&logNo=221397012627
[Python] glob.glob() ์ฌ์ฉ๋ฒ
1. ๊ฐ์ ๋ง์ ํ์ผ๋ค์ ๋ค๋ค์ผ ํ๋ ํ์ด์ฌ ํ๋ก๊ทธ๋จ์ ์์ฑํ ๋, ํน์ ํ ํจํด์ด๋ ํ์ฅ์๋ฅผ ๊ฐ์ง ํ์ผ๋ค...
blog.naver.com