with open('/tests/testDict.pickle','wb') as fp: print 'to terminal'
上面有什么问题让我疯了,给我以下内容:
---------------------------------------------------------------------------
IOError Traceback (most recent call last)
<ipython-input-17-fe5a4a9f361c> in <module>()
----> 1 with open('/tests/testDict.pickle','wb') as fp: print 'to terminal'
IOError: [Errno 2] No such file or directory: '/tests/testDict.pickle'
如果我前面没有斜线,我会得到:
with open('tests/testDict.pickle','wb') as fp: print 'to terminal'
to terminal
我在OS X中有以下目录结构:
$ ls
cp1.py cp1_pdftest.jpg random/ tests/
答案 0 :(得分:4)
"/tests/"
上的前导斜线迫使路径绝对,即使你正在做
os.path.join(os.getcwd(), "/tests/")
所以你需要做
os.path.join(os.getcwd(), "tests/")
来自os.path.join文档:
os.path.join(path, *paths)
智能地加入一个或多个路径组件。返回值是
path
和*paths
的任何成员的串联,只有一个 每个非空部分之后的目录分隔符(os.sep
)除外 最后一个,意思是结果只会在分隔符中结束 最后一部分是空的。 如果组件是绝对路径,则以前都是 组件被丢弃,加入继续绝对 路径组件。
答案 1 :(得分:3)
如果有前导斜杠,则表示绝对路径。也就是说,除非你有一个名为&#39; tests&#39;的目录。在系统的根目录(/
)中,这不应该起作用。
答案 2 :(得分:0)
/
只是根目录,也许您应该尝试使用./