【发布时间】:2021-07-08 20:13:53
【问题描述】:
非常简单的脚本来演示这个奇怪的东西:
import os
root = input('Where to save?: ')
top = os.path.join(root, 'toplevel')
os.mkdir(top)
for i in range(10):
os.mkdir(os.path.join(top, str(i)))
提示时root的值为C:\Users\joe1234,然后运行;但是,资源管理器中只出现C:\Users\joe1234\toplevel,没有子目录。
更复杂的是,当我使用相同的输入再次运行脚本时,我得到:
FileExistsError: [WinError 183] 当文件已存在时无法创建文件:'C:\Users\joe1234\toplevel`
隐藏文件已启用,使用带有隐藏属性的dir 不会显示任何内容。当输入只是C:\ 或C:\<some_dir> 下的任何其他目录时,不会出现此问题,仅在C:\Users 下的目录中。
我使用的是 CPython 3.6.0,我使用的是 Windows 10.0.18363 Build 18363
【问题讨论】:
-
会不会是权限问题?因为它是一个用户目录
-
@MaxwellRedacted 如果我是用户
joe1234,它不应该;另外,文档状态PermissionError将被抛出。此外,如果我从 IDLE 运行os.mkdir,则会创建目录。该问题似乎仅在通过命令行运行解释器并指定脚本时出现。 -
这意味着文件夹已经创建成功,文件资源管理器的问题没有显示更新的文件系统,要仔细检查,您可以打开 cmd 行窗口并使用 dir 命令显示目标的内容文件夹
-
@pstatix 嘿伙计,你不应该这样回答,我是来帮你的。
-
作为linux上的参考,所以我怀疑它的python代码本身,除非python中存在错误
标签: python python-3.x windows