Как прервать цикл при отсутствии нужного файла?
Мне нужно прочитать из разных файлов в одной папке. Каждый файл это запись сигнала на 1024 отсчета. Я записывал сигналы при усилении от -20 до 30 дБ с шагом 5 дБ, и соответственно давал новые имена каждому файлу. Проблема в том что записанных сигналов при одном уровне усиления может разное количество. Например при -20дБ у меня записано 237 файлов, а при -15дБ 180 файлов. Т.е. в одной папке находятся файлы с разными именами по типу:
- QPSK_-20dB_1;
- QPSK_-20dB_2;
- ...
- QPSK_-20dB_237;
- QPSK_-18dB_1;
- QPSK_-18dB_2;
- ...
- QPSK_-18dB_180;
и т.д.
Как я могу задать условия в цикле, чтобы он прерывался, когда проверит все файлы?
col1 = []
col2 = []
col3 = []
y = 0
for k in range(-20,30,2):
q = 1
while True: # Как правильно будет записать условия для этого цикла?
with open(r'C:\Users\Пётр\Documents\LabVIEW Data\8APSK\8APSK_{dB}dB_{num}.lvm'.format(dB=k, num=q), 'r') as f:
for line in f:
first, second, third = line.split()
col1.append(first)
col2.append(second)
col3.append(third)
q += 1
y += 1
print(y)
Ответы (1 шт):
почему бы не сделать по другому
найти все файлы вида
QPSK_*import glob, os os.chdir("/папка_с_файлами") for file in glob.glob("QPSK_*):у каждого файла распарсить имя и получить нужные параметры
prefix, db, id = file_name.split('_') db_value = int(db[:-2]) id_value = int(id)
и работайте как хотите дальше с файлами - главное что вы все рассмотрите