L oop через файлы, но пропустить подкаталоги - PullRequest
0 голосов
/ 03 февраля 2020

Я хочу провести l oop через файлы в каталоге (у меня это работает легко), но пропустить файлы в подкаталогах (у меня это не работает).

Как бы мне этого добиться? В настоящее время я использую это:

for subdir, dirs, files in os.walk(scriptdir1):
    for file in files:
        if os.path.isfile(scriptdir + file):
            with open(file, "rb") as f:
                dbx.files_upload(f.read(), "/" + file, mode=dropbox.files.WriteMode.overwrite)

Вот так выглядит моя папка (это может измениться, поэтому я не хочу указывать какие-либо папки c ответы):

enter image description here

Поэтому я хочу l oop просмотреть файлы в этом каталоге и пропустить файлы, которые находятся в подкаталогах. Мне нужны только файлы, которые находятся в ЭТОМ каталоге.

Спасибо

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

Я использовал это, чтобы все заработало:

files = [f for f in os.listdir('.') if os.path.isfile(f)]
for f in files:
    with open(f, "rb") as fi:
        dbx.files_upload(fi.read(), "/" + f, mode=dropbox.files.WriteMode.overwrite)
        print("Uploaded: " + f)

Спасибо Грегу и Бакуриу за указание правильного ответа

0 голосов
/ 03 февраля 2020

Вы можете использовать glob здесь: -

import glob
file = glob.glob(scriptdir1 + "/*/*")
 with open(file, "rb") as f: dbx.files_upload(f.read(), "/"+file,mode=dropbox.files.WriteMode.overwrite)

Вы также можете написать регулярное выражение вместо * для соответствия некоторым конкретным файлам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...