#python #os.walk
#питон #os.walk #python
Вопрос:
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
Редактировать: я понял еще кое-что странное — в моем домашнем каталоге у меня также есть папка Downloads, в которой хранятся все мои недавние загрузки из Интернета. Каким-то образом, когда я задаю путь как /Users/ken/Downloads
, он также ничего не выводит. Это работает для любого другого, /Users/ken/anyfolder
содержащегося в моем домашнем каталоге, но я не уверен, почему он не обращается к моим папкам на моем рабочем столе
Редактировать: Это работает, когда я пробовал это в другом текстовом редакторе (PyCharm). Ранее я пробовал это в mu-editor. Idk, почему это не работает
Комментарии:
1. Путь является абсолютным, он должен начинаться с root:
r"C:UserskenDesktopmyFolder"
Редактировать: косые черты, идущие другим путем, также могут использоваться"C:/Users/ken/Desktop/myFolder"
2. Я использую Mac, поэтому мне не нужно включать C: спереди, не так ли?
3. Если этот код вообще ничего не выводит, то
/Users/ken/Desktop/myFolder/
не должно существовать.4. @AAAlex123 Он сказал, что
/Users/ken/
сработало, поэтому я сомневаюсь, что это проблема.5. Действительно ли он печатается
Downloads
иDesktop
, когда вы пытаетесь'/Users/ken/'
? У меня нет Mac, но, скорее всего, это просто ярлыки.
Ответ №1:
ну, вы можете использовать другие функции, такие как lsdir и chdir; они гибки в использовании.
Комментарии:
1. Проблема в том, что эти папки имеют разные имена, чем те, которые они должны быть.