Форум сайта python.su
253
Kir@ОГО. Кошмар. Так это сейчас или раньше было?
~3 минуты.
Офлайн
0
Это то, что есть на c#. Плюс глюки и нестабильность.
Офлайн
0
Итак, 1 и 2 модуль я написал. Остался заключительный третий:
1. по очереди открыть все txt файлы в директории
2. найти текст “Первый\s+вопрос” и заменить текст отсюда и до конца:
s=re.sub(r'Первый(\s+)вопрос:',s).strip()
3. удалить все переносы:
s = re.sub(r'+', r' ', s).strip()
4. Во всех словах посчитать количество словосочетаний “Конский разрез”, “Яблонский карьер”.
Итак, часть 1:
txt_сzk=[] l=os.listdir('ЦЗК') for x in l: if x.endswith('txt'): txt_сzk.append(x) print (txt_сzk)
for x in txt_сzk: s=re.sub(r'Первый(\s+)вопрос:',s).strip() s = re.sub(r'[\n]+', r' ', s).strip()

Офлайн
253
Тренируйте память. Хотя может это шарп мозги отшибает.
with open("xxx.dat","r",encoding="utf-8") as f: data=f.read() with open("xxx.dat","w",encoding="utf-8") as f: f.write(data)
Отредактировано doza_and (Окт. 21, 2015 08:20:17)
Офлайн
0
Дубль 4. io.UnsupportedOperation: not readable.
def get_files_ext(source, exts): exts = tuple(exts) #print(exts) for root, dirs, files in os.walk(source): for name in files: if fnmatch.fnmatch(name, '*.txt'): yield os.path.join(root, name) def obrezka(seq, dest): for i in seq: #print(i) with open(i,'w') as f: data=f.read() print(data) def main(): source='ЦЗК' input_dir = 'ЦЗК' output_dir = 'ЦЗК' extensions = ('*.txt') files = get_files_ext(input_dir, extensions) obrezka(files, output_dir) if __name__ == '__main__': main()
Отредактировано Kir@ (Окт. 21, 2015 11:37:58)
Офлайн
0
Вот так выводит пустые строки, количество которых равно количеству файлов:
def get_files_ext(source, exts): exts = tuple(exts) for root, dirs, files in os.walk(source): for name in files: if fnmatch.fnmatch(name, '*.txt'): yield os.path.join(root, name) def copy_to_dir(seq, dest): for i in seq: with open(i,'r') as f: data=f.read() print(data) def main(): source='ЦЗК/' input_dir = 'ЦЗК/' output_dir = 'ЦЗК/' extensions = ('*.txt') files = get_files_ext(input_dir, extensions) copy_to_dir(files, output_dir) if __name__ == '__main__': main()
Офлайн
0
Пардоньте, нормально читается, просто как-то ухитрился все содержимое файликов потереть.
Офлайн
857
Kir@Это, кстати, не кортеж, а просто строка в круглых скобках.extensions = ('*.txt')
Офлайн
0
Никак не могу удалить переносы строк:
ИА).
ПРОЕКТ РЕШЕНИЯ
data=f.read() data=re.sub(r'(Первый\s+вопрос[\A\a\Z\z\D\d]*)', r'', data).strip() data=re.sub(r'(\.[\s+\S+]ПРОЕКТ)', ' ', data).strip() data=' '.join(data.split()) print(data)
Офлайн
0
Да и не надо уже удалять, считает мой код, но не суммирует:
with open(i) as f: data=f.read() data=re.sub(r'(Первый\s+вопрос[\A\a\Z\z\D\d]*)', r'', data).strip() data=re.sub(r'(\.[\s+\S+]ПРОЕКТ)', ' ', data).strip() data=' '.join(data.split()) pattern='ТЫЦ' string = data found = re.findall(pattern, string) len(found) == string.count(pattern) print(len(found))
>>>
1
1
5
5
0
3
3
2
1
2
>>>
Отредактировано Kir@ (Окт. 21, 2015 14:41:25)
Офлайн