티스토리 뷰
Python을 하다보면 디렉토리까지 구분하면서 파일을 만들어야 할 때가 있습니다.
예를들면 경매 낙찰 가격 데이터를 매일 수집해서 저장 할 때 날짜별로 디렉토리를 만들고 각 품목 ID별로도 디렉토리를 만드는 경우가 그렇겠습니다.
날짜는 매일 바뀌기 때문에 디렉토리도 매일 만들어 주어야 합니다. 그래서 디렉토리를 만드는 기능을 만들어 놓아야 매일 수동으로 하지 않아도 되겠지요?
하위디렉토리까지 생성하기
os.makedirs()
os.makedirs()를 이용하면 하위 디렉토리까지 한번에 만들 수 있습니다.
import os
path = '/etc/level1/level2/hello.txt'
os.makedirs(path)
결과
경로, 파일명 분리하기
os.path.split()
위 코드에서는 원래 hello.txt라는 파일을 만들고 싶었습니다만 hello.txt라는 디렉토리가 만들어졌습니다.
import os
path = '/etc/level1/level2/hello.txt'
location, filename = os.path.split(path)
print(f'location:{location}, filename:{ filename }')
결과
location:/etc/level1/level2, filename:hello.txt
확장자(ext) 분리하기
os.path.splitext()
import os
path = '/etc/level1/level2/hello.txt'
location, filename = os.path.split(path)
print(f'location:{location}, filename:{ filename }')
name, ext = os.path.splitext(filename)
print(f'name:{ name }, ext:{ ext }'
name, ext = os.path.splitext(filename)
확장자만 분리하고 싶을 땐 splitext()를 씁니다.
[]받아서 json으로 저장
def save_data(data, target_filename):
#filename, path분리하기
location, filename = os.path.split(target_filename)
# dir이 없다면 생성합니다.
print(os.path.isdir(location))
if not os.path.isdir(location):
os.makedirs(location)
# file저장
with open(target_filename, 'w+') as f:
f.write(json.dumps(data))
print(f'{target_filename} saved...')
현재 파일이 위치한 곳을 루트로
jupyter notebook에서 root를 현재 파일이 있는 곳으로 하지 않고 다른 곳을 root로 인식한 경우 사용
import os
os.chdir(os.getcwd())
end.
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- docker container case
- 도커티슈박스
- shellscript
- 개발자
- 도커티슈케이스
- 싱가폴
- docker container
- 이직
- docker container whale
- 도커컨테이너
- Sh
- vim
- 도커각티슈케이스
- docker container tissue box
- 도커각티슈박스
- docker container tissue
- Linux
- 2017 티스토리 결산
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함