我的路径中有一个小问题,与~
有关。
这段代码示例创建了一些名为~/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
的过程称为 tilde expansion,是一种常见的用户界面特性。文件系统不知道这个特性。
在Python中,可以通过os.path.expanduser实现这个功能:
my_dir = os.path.expanduser("~/some_dir")
~
的文件或目录是完全有效的。因此,如果可能的话,最好避免使用shell主目录快捷方式,以免产生歧义。 - bobince$HOME/some_dir
而不是像你的示例中使用波浪线吗? - undefined这可能是因为Python不同于Bash,不遵循相同的惯例。您可以使用以下代码:
homedir = os.path.expanduser('~')
./
来引用当前目录,因此可以使用./~
来删除当前目录中的文件夹~
。为了更安全,最简单的方法是提供完整路径:rm -rf path/to/bad/dir/~
。 - alkasmrm \~
- DDMC