|
Python. Реализация механизмов cat * и awk | ☑ | ||
---|---|---|---|---|
0
xXeNoNx
12.09.18
✎
11:20
|
Всем привет!
Осваиваю данный язык. Появились некоторые вопросы: 1. Как реализовать аналог команды cat *? - чтение файлов(НЕСКОЛЬКИХ!!!) в текущей директории по шаблону? 2. Как сделать свертку входных данных, аналогично как делает это awk: вход: 1 - 10 2 - 5 3 - 5 2 - 10 1 - 20 ВЫХОД: 1 - 30 2 - 15 3 - 5 Спасибо за ответы! |
|||
1
Кирпич
12.09.18
✎
11:25
|
форумом ошибся
|
|||
2
xXeNoNx
12.09.18
✎
11:26
|
(1) утверждение не вдохновляет!
|
|||
3
xXeNoNx
12.09.18
✎
11:27
|
+(2) Особенно после этого Вопрос к знатокам Си++ (Си)
|
|||
4
Кирпич
12.09.18
✎
11:28
|
||||
5
Вафель
12.09.18
✎
11:28
|
а что в питоне нет findFiles или аналога?
|
|||
6
xXeNoNx
12.09.18
✎
11:30
|
(5) хотелось бы лакончино), как cat, ну или хотя бы "open('регулярка')"
|
|||
7
Кирпич
12.09.18
✎
11:30
|
(5) да есть там всё. просто лень гуглить
|
|||
8
Кирпич
12.09.18
✎
11:32
|
Вот из (4)
В следующем примере сделана интерпретация системной утилиты grep. В текущем каталоге будут найдены файлы с питоновским расширением, в которых будет найдена поисковая строка 'import os': import os, sys, fnmatch mask = '*.py' pattern = 'import os' def walk(arg,dir,files): for file in files: if fnmatch.fnmatch(file,mask): name = os.path.join(dir,file) try: data = open(name,'rb').read() if data.find(pattern) != -1: print name except: pass os.path.walk('.',walk,[]) |
|||
9
xXeNoNx
12.09.18
✎
11:39
|
(8) пасиб
|
|||
10
Вафель
12.09.18
✎
11:41
|
(8) хреновый конечно код.
поиск файлов лучше сразу по маске делать,сами файлы обрабатывать построчно |
|||
11
Кирпич
12.09.18
✎
11:43
|
(9) А для всяких извращений с данными вот такое там придумано https://khashtamov.com/ru/pandas-introduction/
|
|||
12
Кирпич
12.09.18
✎
11:45
|
вот ещё вариант
https://pythonworld.ru/moduli/modul-itertools.html |
|||
13
Кирпич
12.09.18
✎
11:45
|
короче полный гугл
|
|||
14
Glup0sti
12.09.18
✎
12:00
|
cat *.txt | gawk -F'-' '{D[$1]+=$2} END {for(i in D) print i":"D[i]}'
|
|||
15
Glup0sti
12.09.18
✎
12:05
|
ой, вообще ересь написал не в тему
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |