Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 10, 2021 21:18:32

deadagnostic
Зарегистрирован: 2021-08-10
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Отсеивание лишних строк из списка

Добрый вечер!
Я только начал изучать Python и хотелось бы попросить вашей помощи.
Есть каталог, из которого построчно возвращаются имена файлов в виде:
file1 010101 08-2020
file2 020202 10-2020
file3 030303 03-2021
file4 040404 06-2021
file5 050505 06-2021, etc. и записываются в txt файл.
Как, через input, сделать так, чтобы из этого списка в txt заносились строки содержащие определенный месяц и год? Скажем, мне нужно там видеть только file4 и file5, введя в поле input - 06-2021.
Сам перепробовал уже несколько способов, но ничего не выходит. Помогите, пожалуйста


from pathlib import Path
import datetime

p = Path('E:\Python\ForDocks').rglob('*.pdf')
for path in p:
ps = path.stem
pstat = path.stat().st_mtime
pstat_str = datetime.datetime.fromtimestamp(pstat).strftime('%m-%Y')
psumm = ps + ' %s' % pstat_str
with open('E:/Python/text.txt', 'a') as f:
print(psumm, file=f)

Отредактировано deadagnostic (Авг. 10, 2021 21:18:59)

Офлайн

#2 Авг. 11, 2021 00:21:38

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Отсеивание лишних строк из списка

  
file_record1 = 'file1 010101 08-2020'
file_record2 = 'file4 040404 06-2021'
 
# первый способ
'06-2021' in file_record1
'06-2021' in file_record2
 
# второй способ
file_record1.endswith('06-2021')
file_record2.endswith('06-2021')
 
# третий способ
import re
 
re.search(r'06-2021$', file_record1) is not None
re.search(r'06-2021$', file_record2) is not None



Отредактировано py.user.next (Авг. 11, 2021 00:23:42)

Офлайн

#3 Авг. 13, 2021 19:00:53

Komedik
Зарегистрирован: 2021-08-13
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Отсеивание лишних строк из списка

Приветствую!

 # Импорт модуля os
import os
# Получаем список файлов в директории
files = os.listdir('E:\Python\ForDocks')
list = [] #Список, в котором будут имена нужных файлов
for file in files: #Поочерёдно присваиваем переменной file - значение каждого элемента списка files
    if '06-2021' in file: #Если '06-2021' в имени файла
        file = file.replace('.txt', '') # Расширение файла .txt не будет выводиться в результате (Необязательное действие)
        list.append(file) #Заносим имя в список
for el in list: #Для вывода поочерёдно в столбик
    print(el)

Результат:
 040404 06-2021
 050505 06-2021

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version