Yanıtlar:
Yaklaşık işareti manuel olarak genişletmeniz gerekir:
my_dir = os.path.expanduser('~/some_dir')
./
geçerli dizine ./~
başvurmak ve böylece ~
geçerli dizindeki klasörü kaldırmak için kullanabilirsiniz . Daha güvenli olması için, sadece tam yolu sağlamak için en kolay: rm -rf path/to/bad/dir/~
.
rm \~
Dönüşümü ~/some_dir
için $HOME/some_dir
denir genişleme tilde ve ortak bir kullanıcı arayüzü özelliğidir. Dosya sistemi bu konuda hiçbir şey bilmiyor.
Python'da bu özellik os.path.expanduser tarafından uygulanır :
my_dir = os.path.expanduser("~/some_dir")
~
. Yani kabuk ev kısayolu belirsiz ve en iyi kaçınılması.
The file system does not know anything about it.
+1
from srblib import verify_folder
verify_folder('path/to/folder')
Başka bir klasör oluşturmazsa bir klasör oluşturur.
NOT : ayrıca yolda klasörler oluşturur (gerekirse)
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$
Bu işlev şöyle çalışır mkdir -p path/to/folder
Şimdi böyle yapabilirsin
from srbib import abs_path
my_dir = abs_path('~/path/to/dir')
if not os.path.exists(my_dir):
os.makedirs(my_dir)
Kullanımı için lütfen https://stackoverflow.com/a/54190233/6799074 adresine bakın .srblib.abs_path