spl*_*ter 1 python file-not-found os.walk python-3.x
我正在使用该os.walk()方法浏览文件夹。在其中一个文件夹中,有大量文件,其中约有100,000个。这些文件如下所示:p_123_456.zip。但是它们被读为p123456.zip。确实,当我打开Windows资源管理器浏览文件夹时,在最初的几秒钟中文件看起来像p123456.zip,但随后将其外观更改为p_123_456.zip。这是一个奇怪的情况。
现在,我无法使用,time.sleep()因为所有文件夹和文件都已在循环行中读取到python变量中。这是代码片段:
for root, dirs, files in os.walk(srcFolder):
os.chdir(root)
for file in files:
shutil.copy(file, storeFolder)
Run Code Online (Sandbox Code Playgroud)
在最后一行中,我得到一个文件未找到异常,说该文件p123456.zip不存在。有谁遇到这个神秘的问题?反正绕过这个?这是什么原因?谢谢。
您似乎并没有将实际的文件夹名称与文件名连接在一起。尝试将代码更改为:
for root, dirs, files in os.walk(srcFolder):
for file in files:
shutil.copy(os.path.join(root, file), storeFolder)
Run Code Online (Sandbox Code Playgroud)
os.chdir应该避免像瘟疫一样。一方面-如果更改成功,它将不再是您运行os.walk的目录-然后,chdir另一个文件夹上的第二个文件夹将失败(停止porgram或将您更改为意外的文件夹) 。
只需将文件夹名称添加为前缀,不要尝试使用chdir。
此外,作为从ShadowRanger以上,注释os.walk正式休息,如果你chdir的迭代里面- https://docs.python.org/3/library/os.html#os.walk -这可能是你有问题的根源。
| 归档时间: |
|
| 查看次数: |
531 次 |
| 最近记录: |