Я использую Python в Visual Studio, перешагнув код в режиме отладки. После того, как первый оператор if..continue
проверен, управление возвращается к for file..
, как я и ожидал.Python 'if ... continue' неожиданно возвращает управление родительскому циклу текущего цикла
Однако, через 2 прохода, когда он падает вниз к следующему if..continue
заявление, управление возвращается к началу цикла родительского for dir
, когда я ожидал, что он вернется к for file..
снова. Цель состоит в том, чтобы игнорировать любые подкаталоги и файлы csv с именами формы _*.csv
(я надеюсь, что мне не нужно вникать в изучение дополнительных образцов, соответствующих материалам сейчас - если возможно, нужно выполнить текущую небольшую задачу)
for dir in os.listdir(masterDirPath):
currentDir = masterDirPath + dir
# iterate through csv logs within current data folder, aggregating data
for file in os.listdir(currentDir):
path = os.path.join(currentDir, file)
if os.path.isdir(path):
# skip directories
continue
if file.startswith('_'):
# skip custom files
continue
if file.endswith(".csv"):
# open log file
.
.
.
Возможно, вы уже петельные через все файлы в этом каталоге? – Moberg
@Moberg - привет, спасибо за ответ, но нет, я проверил и дважды проверил, что я ищу в своей тестовой папке, которая преднамеренно содержит подкаталог, действительный «csv» для проверки и csv с именем '_testMe.csv. Вы говорите, что из того, что вы можете сказать, оно должно работать так, как я ожидал? – Margarita
Добавить 'print '- {} -". Format (file) 'в начале вашего цикла. Возможно, ваша ОС добавляет некоторые пробелы до/после имени файла. если это так, вы можете попробовать 'file = file.strip()' – woockashek