首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python os.walk()失败

Python os.walk()失败
EN

Stack Overflow用户
提问于 2015-07-09 01:25:02
回答 2查看 293关注 0票数 0

我已经创建了一个脚本来给我文件夹目录中的文件列表。然而,我偶尔也会遇到这个错误。这是什么意思?

错误的一部分:

代码语言:javascript
复制
Script failed due to an error:
Traceback (most recent call last):
  File "<script>", line 12, in <module>
  File "C:\Program Files\Nuix\Nuix 6\lib\jython.jar\Lib\os.py", line 309, in walk
  File "C:\Program Files\Nuix\Nuix 6\lib\jython.jar\Lib\os.py", line 299, in walk
  File "C:\Program Files\Nuix\Nuix 6\lib\jython.jar\Lib\genericpath.py", line 41, in isdir
  File "C:\Program Files\Nuix\Nuix 6\lib\jython.jar\Lib\genericpath.py", line 41, in isdir
java.lang.AbstractMethodError: org.python.modules.posix.PythonPOSIXHandler.error(Ljnr/constants/platform/Errno;Ljava/lang/String;Ljava/lang/String;)V

    at jnr.posix.BaseNativePOSIX.stat(BaseNativePOSIX.java:309)

    at jnr.posix.CheckedPOSIX.stat(CheckedPOSIX.java:265)

    at jnr.posix.LazyPOSIX.stat(LazyPOSIX.java:267)

剧本:

代码语言:javascript
复制
import os
import codecs
import shutil
import datetime
import sys


exportpath = 'P:/Output/Export7/{6136BAF2-85BA-4E64-8C11-A2C59398FC02}/'
tempnativefolder = 'NATIVESOrig'


for dir, sub, file in os.walk(exportpath + tempnativefolder):
  for fname in file:
    #source path
    source = os.path.join(dir, fname).replace('\\', '/')
    print source


print("Natives moved to subfolders")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-13 20:27:07

我发现文件名中存在这些字符(见屏幕截图中的“带问号的菱形”字符)导致了问题。一旦我换了这些,我的剧本就能用了。非常感谢。

票数 0
EN

Stack Overflow用户

发布于 2015-07-22 03:47:04

错误的含义:AbstractMethodError意味着一些代码试图调用未实现的方法。

PythonPOSIXHandler实现了jnr.posix.POSIXHandler。JRuby也使用JNR,两者之间的接口有细微差别。JRuby较新的JNR副本有一个额外的#error(Errno, String, String)方法,而Jython的实现缺少该方法,因为它是在该方法不存在时针对接口编译的。

我通常在另一个方向上看到这个问题--Jython的Jython中的东西破坏了JRuby。我想这完全取决于类路径中罐子的顺序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31306592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档