powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Парсинг логов с insert в таблицу
6 сообщений из 6, страница 1 из 1
Парсинг логов с insert в таблицу
    #38985848
Делаю парсинг логов в директории. Все файлы, старше 12 часов должны заноситься в специальную таблицу. Парсинг работает, а вот инсертиться не хочет...

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
import os, time
import datetime
import cx_Oracle

dirs = 'C:/Users/Documents/new'
dir_collection = []
dt = datetime.datetime.now()
delta = datetime.timedelta(hours=12)

for dirpath, dirnames, filenames in os.walk(dirs):
    FileDate = os.path.getctime(dirpath)
    FileDate = datetime.datetime.fromtimestamp(FileDate)
    delta_file = dt - FileDate
    if delta_file > delta :
        dir_collection.append(filenames)

     

con = cx_Oracle.connect('user/password@127.0.0.1/mybase')
cur = con.cursor()
for i in dir_collection:
    example = [i, datetime.datetime.now()]
cur.executemany (
    "insert into table(NAME_FILE, sys_creation_date) values (:1, :2)"
    , example)
con.commit()
cur.close()
con.close()



Если делать запись в файл и чтение потом из него - все работает. Но это лишние заморочки. Понимаю, что проблема именно с example, но ума не хватает доделать :)
...
Рейтинг: 0 / 0
Парсинг логов с insert в таблицу
    #38985881
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не проще ли загрузить весь файл одной командой LOAD DATA INFILE/mysqlimport?
Быстрее-то точно.
...
Рейтинг: 0 / 0
Парсинг логов с insert в таблицу
    #38985883
miksoftНе проще ли загрузить весь файл одной командой LOAD DATA INFILE/mysqlimport?
Быстрее-то точно.

Нужны только имена файлов, и даты, когда разница была обнаружена
...
Рейтинг: 0 / 0
Парсинг логов с insert в таблицу
    #38985886
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗлобнаяПеченька,

А где проверка и вывод ошибок после INSERT?

Кстати, извиняюсь за mysqlimport, не заметил, что коннект к Ораклу.
...
Рейтинг: 0 / 0
Парсинг логов с insert в таблицу
    #38985894
miksoftЗлобнаяПеченька,

А где проверка и вывод ошибок после INSERT?

Кстати, извиняюсь за mysqlimport, не заметил, что коннект к Ораклу.
Мне надо добиться, чтобы он вообще инсертить начал. exception потом буду дорисовывать.

Ругается
, example)
InterfaceError: expecting a list of dictionaries or sequences
...
Рейтинг: 0 / 0
Парсинг логов с insert в таблицу
    #38985981
Вопрос закрыт, переделала само получение списка файлов

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
full = os.listdir(dirs)
for filenames in full:
    fullname = os.path.join(dirs, filenames)
    FileDate = os.path.getctime(fullname)
    FileDate = datetime.datetime.fromtimestamp(FileDate)
    delta_file = dt - FileDate
    if delta_file > delta :
        dir_collection.append(filenames)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Парсинг логов с insert в таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]