相关疑难解决方法(0)

Python的os.makedirs在我的路径中不理解"〜"

在我的路上,我有一点问题.

这个代码示例创建了一些名为"〜/ some_dir"的目录,并且不明白我想在我的主目录中创建some_dir.

my_dir = "~/some_dir"
if not os.path.exists(my_dir):
    os.makedirs(my_dir)
Run Code Online (Sandbox Code Playgroud)

请注意,这是基于Linux的系统.

python path

137
推荐指数
3
解决办法
4万
查看次数

为什么我被迫在python中使用os.path.expanduser?

我确定这是有意的,所以有人可以解释这种行为的基本原理:

Python 2.7.2 (default, Oct 13 2011, 15:27:47) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from os.path import isdir,expanduser
>>> isdir("~amosa/pdb")
False
>>> isdir(expanduser("~amosa/pdb"))
True
>>>
>>> from os import chdir
>>> chdir("~amosa/pdb")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 2] No such file or directory: '~amosa/pdb'
>>> chdir(expanduser("~amosa/pdb"))
>>>
Run Code Online (Sandbox Code Playgroud)

这真的很烦人,因为毕竟,用户名中的路径可以明确地解决...我想编写可以处理用户可能给我的任何输入的代码,但这种行为要求我调用expanduser on我的代码必须处理的每条路径.这也意味着无论我打印出哪条路径供用户查看,它都会比他们给我的信息略显清晰.

这似乎与"鸭子打字"的概念不一致,其中我概括为我希望python不要向我抱怨,除非实际上有问题......

python

22
推荐指数
2
解决办法
2万
查看次数

标签 统计

python ×2

path ×1