Python中文
首页
教程
问答
标签
搜索
登录
注册
Python os当我使用os.mkdir创建目录时,os.path.isdir告诉我该目录不存在
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在写一个相当简单的日记条目程序,我需要检查一个目录是否存在,如果不存在,我需要创建一个。</p> <p>在journal.py中,我正在导入另一个模块:文件。此模块处理文件和目录的创建和删除</p> <p><strong>日记帐.py</strong></p> <pre><code>if __name__ == '__main__': if files.testForDir('entries') == False: print 'Directory "entries" does not exist' print 'Attempting to create directory' files.createDir('entires') </code></pre> <p><strong>文件.py</strong></p> <pre><code>def testForDir(dirname, path=os.getcwd()): pathtotest = os.path.join(path, dirname) return os.path.isdir(pathtotest) def createDir(dirname, path=os.getcwd()): dirpath = os.path.join(path, dirname) try: os.mkdir(dirpath) except OSError as error: print error </code></pre> <p><strong>我的问题是:</strong>当我在Ubuntu中创建目录时,<em>testForDir()</em>返回正确的结果。当我在没有/entries的情况下运行程序时,它也会正确运行。它使用<em>os.mkdir()</em>创建目录,并在Ubuntu中显示/entries。但是,当我在<em>os.mkdir()</em>创建目录后运行它时,<em>testForDir()</em>返回False,并且由于文件夹已经存在,将引发一个OSError异常。</p> <p>所以要正式地提出这个问题,重复一下:当我使用<em>os.mkdir()</em>创建一个目录时,<em>os.path.isdir()</em>告诉我这个目录不存在。</p> <p><strong>系统信息:</strong>Ubuntu 12.04 LTS 32位,Python 2.7。</p> <p>文件结构:home/name/Programs/journal/。</p> <p>日记包含:entries.py(空白)、files.py、Journal.py、entries(目录)</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我觉得整个事情可以简单一点:</p> <pre><code>try: somfunc(dirpath) except: os.mkdir(dirpath) somfunc(dirpath) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django restfram生成PDF
8 回答
无法使用Django Rest框架发送压缩的gzip数据
2 回答
无法使用Django rest框架进行身份验证(请求用户=匿名用户)
8 回答
无法使用Django、Python和JavaScrip触发onclick函数
1 回答
无法使用Django.views.generic.View保存表单
3 回答
无法使用Django(python 2.7,OS X 10.11.1)
2 回答
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
5 回答
无法使用Django\u mssql\u后端迁移到外部hos
7 回答
无法使用Django&Python3.4连接到MySql
9 回答
无法使用Django+nginx上载媒体文件
10 回答
无法使用Django1.6导入名称模式
3 回答
无法使用Django1.7和mongodb登录管理站点
4 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
9 回答
无法使用Djangockedi验证CBV中的字段
10 回答
无法使用Djangocketditor上载图像(错误400)
6 回答
无法使用Djangocron进行函数调用
1 回答
无法使用Djangofiler djang上载文件
5 回答
无法使用Djangokronos
8 回答
无法使用Djangomssql provid
7 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
2 回答