guitarjedi
@guitarjedi

Как открыть базу Sqlite3 из Python?

Доброго времени суток!

Есть задача:
-Брать данные из Лог-файла 1С
-Создавать плоскую таблицу, на основании нескольких таблиц из Лог-файла (он на движке Sqlite3), выгружать эту красоту в CSV, для дальнейших манипуляций

На тестовом лог-файле, захардкодить все получилось, данные преобразовываются, записываются, выгружаются в нужном формате куда нужно.
Захотелось вынести значения переменных в отдельный файл, в котором в случае чего можно менять путь до Лог-файла, название CSV'шника куда выгружать и так далее, дабы не лазить постоянно в скрипт.

В первой версии примерно так:

import sqlite3

conn = sqlite3.connect('\\пусть-до-места-где-лежит\\1Cv8.lgd')
cursor = conn.cursor()

sql = "SELECT трали-вали..."

Все работает.
Но вот если вынести мой "путь" в отдельный файл:

import sqlite3

#Конфиг
Config = open('\\Путь-до-"конфига"\\Config.ini')
LogFile = Config.readlines()[1]  #Строка в которой прописан путь

conn = sqlite3.connect(LogFile)
cursor = conn.cursor()


и тут выпадает ошибка типа "Unable to open database file"
Путь передается. Но база не открывается
Каких разрешений необходимо дать, и кому, в упор не представляю, гугл советует просто проверить разрешения к месту где лежит база, но думаю, что это не то. Т.к. указывая путь на прямую, все хорошо отрабатывает. Но как только значение берется из стороннего файла, выскакивает ошибка.

Если кто то сталкивался с подобным, или просто может подсказать в чем скрывается проблема, прошу Вашей помощи!
  • Вопрос задан
  • 2109 просмотров
Решения вопроса 1
guitarjedi
@guitarjedi Автор вопроса
Пайтон изучаю всего вторую неделю.

Оказалось что к LogFile = Config.readlines()[1] нужно было добавить метод .strip():

Config = open('\\Путь-до-"конфига"\\Config.ini')
LogFile = Config.readlines()[1].strip() #Строка в которой прописан путь

conn = sqlite3.connect(LogFile)
cursor = conn.cursor()

С элементами строги передавался перевод строки \n
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы