나는 ~에 약간의 문제가 있습니다.
이 코드 예제는 “~ / some_dir”이라는 일부 디렉토리를 작성하며 홈 디렉토리에 some_dir을 작성하려고한다는 것을 이해하지 못합니다.
my_dir = "~/some_dir"
if not os.path.exists(my_dir):
os.makedirs(my_dir)
이것은 Linux 기반 시스템에 있습니다.
답변
물결표를 수동으로 확장해야합니다.
my_dir = os.path.expanduser('~/some_dir')
답변
로 변환하는 ~/some_dir
것을 물결 확장$HOME/some_dir
이라고 하며 일반적인 사용자 인터페이스 기능입니다. 파일 시스템은 그것에 대해 아무것도 모릅니다.
파이썬에서이 기능은 os.path.expanduser에 의해 구현됩니다 :
my_dir = os.path.expanduser("~/some_dir")
답변
아마도 파이썬은 배쉬가 아니며 같은 규칙을 따르지 않기 때문일 것입니다. 이것을 사용할 수 있습니다 :
homedir = os.path.expanduser('~')
답변
from srblib import verify_folder
verify_folder('path/to/folder')
폴더가 없으면 폴더를 만들지 않습니다.
참고 : 필요한 경우 경로에 폴더를 만듭니다.
srb@srb-pc:~/hello$ ls
srb@srb-pc:~/hello$ python3
>>> from srblib import verify_folder
>>> verify_folder('~/hello/A/B')
>>> exit()
srb@srb-pc:~/hello$ ls
A
srb@srb-pc:~/hello$ ls A
B
srb@srb-pc:~/hello$
이 기능은 다음과 같이 작동합니다 mkdir -p path/to/folder
답변
당신은 지금처럼 할 수 있습니다
from srbib import abs_path
my_dir = abs_path('~/path/to/dir')
if not os.path.exists(my_dir):
os.makedirs(my_dir)
https://stackoverflow.com/a/54190233/6799074 를 참조하십시오srblib.abs_path