files_list = os.listdir(os.path.join(path,folder)) for files in files_list: stats = os.stat(os.path.join(path,folder,files))
是否有可能让我得到下面的错误,因为它似乎违反直觉,它不能够find一个文件,它刚刚在listdir中,除了竞争条件的情况下,这是不是我怀疑在这种情况下。
WindowsError: [Error 2] The system cannot find the file specified: '\\sftp-server.domain.com\homes\server\location\FOLDER\FILE.PDF'
我也想知道,如域名查找/临时networking问题可以导致这个错误? 例如
\sftp-server.domain\homes\server\location\FOLDER和
在Python中启动Windows运行命令(浏览器协议)
如何在Windows下自动运行python脚本?
将窗口带到前台的问题
用于replacebatch file中的延迟扩展variables
\sftp-server.domain\homes\server\location\FOLDERFILE
只是URLstring,与真正的文件系统遍历没有任何关系。
Linux Mint Tkinter透明窗口
Python脚本转换为可以自动更新的独立单个文件可执行文件?
AAPT2编译失败:Windows上的Android 3.0 Canary 1无效
从系统启动连续运行一个python脚本
在ie6上testing代码而不安装它?
据推测FOLDER和FILE不是真正的名字? 仔细看一下WindowsError报告的文件名。 如果它们在最后一个组件中包含问号,则说明Unicode文件名有问题。 具体来说,如果目录包含Unicode字符在当前代码页中不可表示的文件名(例如西欧或东欧语言环境中的日语字符),则os.listdir将返回具有不可表示的Unicode字符的文件名,并将其转换为? 。 很显然,这些基本上是坏的名字不能被传递给IO函数,比如open或者os.stat 。
要解决这个问题,请通过将目录作为Unicode字符串传递给os.listdir来请求Unicode文件名。 这些将包含正确的字符,并可以传递给os.stat ,这将内部调用广泛的API:
dirname = unicode(os.path.join(path,folder),'mbcs') file_list = os.listdir(dirname) for filename in file_list: stats = os.stat(os.path.join(dirname,filename)) # ...
服务器正在做多线程,我们发送多个Ajax请求在一个单一的Javascript方法到相同的文件夹资源。
在os.listdir处理的情况下,首先会发生此错误,因为它需要很长时间才能通过SFTP执行。 在此期间, os.remove发生在另一个请求中,并删除了os.listdir结果中显示的文件。 使他作为一个适当的回调os.listdir函数后,它工作得很好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。