os.walk() 不打印文件和文件夹名称

问题描述 投票:0回答:3
import os
mypath = '/Users/ken/Desktop/myFolder/'

for folderName, subfolders, filenames in os.walk(mypath): 
    print('The current folder is ' + folderName)
    
    for subfolder in subfolders:
        print('SUBFOLDER OF ' + folderName + ': ' + subfolder)
        
    for filename in filenames:
        print('FILE INSIDE ' + folderName + ': '+ filename)
        
print('')

大家好,不知何故,我上面的代码使用了 os.walk() 函数,但根本不打印任何内容。我很确定这是说明我的文件夹路径(确实位于我的桌面上)的正确方法。但是,当我尝试使用路径“/Users/ken/”时,它确实返回并打印出一大堆文件/文件夹。我不确定为什么上述路径(添加 /Desktop/myFolder)不起作用。顺便说一句,我使用的是 MacBook

编辑:我意识到还有一些奇怪的事情 - 在我的主目录中,我还有一个“下载”文件夹,其中存储了我最近从网上下载的所有内容。不知何故,当我将路径设置为

/Users/ken/Downloads
时,它也不会打印任何内容。它确实适用于我的主目录中包含的任何其他
/Users/ken/anyfolder
,但我不确定为什么它不能访问我桌面上的文件夹

编辑:当我在另一个文本编辑器(PyCharm)上尝试它时,它有效。之前我在mu-editor上尝试过。我不知道为什么它不起作用

python os.walk
3个回答
0
投票

您可以使用其他功能,例如 lsdir 和 chdir; 它们使用起来很灵活。


0
投票

不幸的是 os.walk 不会抛出相关的错误消息。您应该尝试 os.listdir ,它会给您返回一条消息:“[Errno 1] 不允许操作”。您很可能不是计算机的管理员,否则您不会被授予正确的权限。您可能认为您应该(默认情况下)有权访问桌面或下载文件夹。不幸的是,这并没有发生。就我而言,我只能访问我的用户名的根文件夹。因此,请直接在“Users/Ken”中创建一个 Dev 目录,它将起作用。或者,请与您的管理员合作,以获得对“设置/隐私”下所有文件夹的完整驱动器访问权限。


0
投票

将其设置为路径

mypath = 'c:\Users\ken\Desktop\myFolder\'

© www.soinside.com 2019 - 2024. All rights reserved.