답변:
물결표를 수동으로 확장해야합니다.
my_dir = os.path.expanduser('~/some_dir')
./
현재 디렉토리를 참조하여 현재 디렉토리 ./~
에서 폴더를 제거하는 데 사용할 수 있습니다 ~
. 더 안전하려면 간단히 전체 경로를 제공하는 것이 가장 쉽습니다 rm -rf path/to/bad/dir/~
.
rm \~
로 변환하는 ~/some_dir
것을 물결 확장$HOME/some_dir
이라고 하며 일반적인 사용자 인터페이스 기능입니다. 파일 시스템은 그것에 대해 아무것도 모릅니다.
파이썬에서이 기능은 os.path.expanduser에 의해 구현됩니다 :
my_dir = os.path.expanduser("~/some_dir")
~
. 따라서 쉘 홈 단축키는 모호하며 가능하면 피하는 것이 가장 좋습니다.
The file system does not know anything about it.
+1
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