Python3创建目录报错:刚创建的目录提示不存在,寻求技术帮助
解决Python创建目录时的"文件不存在"错误
嘿,我来帮你捋捋这个问题~你遇到的"文件不存在"报错,大概率是路径写法出了问题,还有一些逻辑上的小细节需要调整,咱们一步步来解决:
问题根源分析
- 路径不完整且格式混乱:Windows系统下的绝对路径必须包含盘符(比如
C:\),但你的路径开头是\Users,系统根本不知道要找哪个盘的用户目录;另外你混合使用了反斜杠\和正斜杠/,虽然Python能兼容,但很容易触发识别错误。 - 删除目录的逻辑有隐患:如果目标目录本来就不存在,
shutil.rmtree会直接报错,而你只做了存在判断,但路径错误的话这个判断本身就会失效。 - 文件打开的写法不规范:你用
f = open(...)的方式打开文件,忘记手动关闭的话可能会导致资源泄漏,建议用with语句更安全。
修正后的代码示例
import os import shutil # 定义完整的基础路径,用原始字符串避免转义问题 base_project_dir = r'C:\Users\Oran\Documents\Sync\Files\Projects' target_dir = os.path.join(base_project_dir, 'testProject') # 安全删除已有目录(如果存在) if os.path.isdir(target_dir): shutil.rmtree(target_dir) # 创建目标目录 os.mkdir(target_dir) # 切换到目标目录并创建文件(用with语句自动管理文件) os.chdir(target_dir) with open("index.html", "wt") as f: # 这里可以写入你需要的内容,比如: # f.write("<html><head><title>Test Page</title></head><body></body></html>") pass
关键改进点说明
- 用
os.path.join拼接路径:它会自动适配Windows的反斜杠分隔符,完全避免手动写斜杠的错误。 - 完整的绝对路径:加上
C:\盘符后,系统能精准定位到目标文件夹的位置。 - 安全的文件操作:
with语句会在代码块结束后自动关闭文件,避免资源泄漏问题。 - 容错性更强的删除逻辑:先判断目录存在再删除,避免无目录时的报错。
如果还是报错,可以检查一下:
- 当前用户对
Projects文件夹有没有读写权限 - 路径里的文件夹名称有没有拼写错误(比如大小写,Windows路径不区分大小写,但最好和实际文件夹一致)
内容的提问来源于stack exchange,提问作者user9536222
相关产品推荐
相关产品推荐

