回答:
チルダを手動で展開する必要があります。
my_dir = os.path.expanduser('~/some_dir')
./
、現在のディレクトリを参照して、現在のディレクトリ./~
内のフォルダを削除するために単に使用することができるのではないかと思っています~
。安全のために、完全なパスを指定するのが最も簡単ですrm -rf path/to/bad/dir/~
。
rm \~
~/some_dir
toへの変換はチルド拡張と$HOME/some_dir
呼ばれ、一般的なユーザーインターフェイス機能です。ファイルシステムはそれについて何も知りません。
Pythonでは、この機能は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