gpt4 book ai didi

python - 使用 os.walk 后加入 throws startswith 错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:31:54 24 4
gpt4 key购买 nike

只是一个递归循环到我的整个主目录的测试脚本。在我的测试服务器上,加入命令抛出这个奇怪的错误。

  File "print_idv3.py", line 20, in <module>
listDirs("/home/jelmer/")
File "print_idv3.py", line 7, in listDirs
list_of_files=os.path.join(root,files)
File "/usr/lib/python2.7/posixpath.py", line 66, in join
if b.startswith('/'):
AttributeError: 'list' object has no attribute 'startswith'

代码如下。文件和根根本不是空的,所以它应该可以工作。

def listDirs(dir):
for root, subFolders,files in os.walk(dir,topdown=False):
list_of_files=os.path.join(root,files)
print files
print root
return
return

def main():
#MainRunroutine
return

if __name__=="__main__":
listDirs("/home/jelmer/")

最佳答案

与其使用 os.path.join() 将字符串与数组连接起来,不如在 for 循环或列表理解中只包含两个字符串:

list_of_files = [os.path.join(root, f) for f in files]

不同之处在于您分别加入每个路径,而不是使用整个数组,os.path 不支持这一点。

关于python - 使用 os.walk 后加入 throws startswith 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30823730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com