Python's os.makedirs doesn't understand “~” in my path
在我的道路上我有点问题。
这个代码示例创建了一些名为"~/some_dir"的目录,不理解我想在主目录中创建一些_dir。
1 2 3 | my_dir ="~/some_dir" if not os.path.exists(my_dir): os.makedirs(my_dir) |
注意,这是基于Linux的系统。
您需要手动展开颚化符:
1 | my_dir = os.path.expanduser('~/some_dir') |
在python中,此功能由os.path.expanduser实现:
1 | my_dir = os.path.expanduser("~/some_dir") |
这可能是因为python不是bash,不遵循相同的约定。您可以使用:
1 | homedir = os.path.expanduser('~') |
你现在可以这样做了
1 2 3 4 | from srbib import abs_path my_dir = abs_path('~/path/to/dir') if not os.path.exists(my_dir): os.makedirs(my_dir) |
有关
1 2 3 | from srblib import verify_folder verify_folder('path/to/folder') |
它将创建一个文件夹,如果没有其他文件夹,它将不创建文件夹。
注意:它还将在路径中创建文件夹(如果需要)
1 2 3 4 5 6 7 8 9 10 | 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$ |
此函数的工作方式与