Невозможно выполнить итерацию по файлам в папке в экземпляре Google Cloud notebooks

#python #google-cloud-platform #jupyter-lab #google-cloud-ai

# #python #google-cloud-platform #jupyter-lab #google-cloud-ai

Вопрос:

Я использую экземпляр notebooks на платформе AI в облачной консоли Google. Я загрузил папку, внутри которой содержится около 30 файлов csv.

Я запускаю следующий код для перебора файлов,

 for subdir, dirs, files in os.walk('~/uploadedfiles/'):
    for file in files:
        filepath = os.path.join(subdir, file)
        print(filepath)
 

Однако по какой-то причине я могу перебирать файлы. Ячейка просто завершается без ошибок. Как мне это исправить?

Ответ №1:

Попробуйте заменить ~ на полный путь. Python может не выполнять расширение bash для этой тильды:

 $ cat bork.py 
#!/usr/bin/env python3
import os

for subdir, dirs, files in os.walk('/Users/inger.klekacz/parent/'):
    for file in files:
        filepath = os.path.join(subdir, file)
        print(filepath)

 

Это сработало с этой структурой dir:

 - parent/
  - foo.txt
  - child1/
    - bar.txt
  - child2/
    - baz.txt
 

вот так:

 $ ./bork.py 
/Users/inger.klekacz/parent/foo.txt
/Users/inger.klekacz/parent/child2/baz.txt
/Users/inger.klekacz/parent/child1/bar.txt
 

Но не сработало, когда я использовал тильду.