Привет всем и спасибо за ваше время. Извините, я не совсем уверен, что правильно объясняю, но не стесняйтесь задавать любые дополнительные вопросы, чтобы лучше понять мою проблему.
У меня есть скрипт Python, который подключается к каталогу SQLite db следующим образом:
conn = sqlite3.connect('C:\Users\gareth\Desktop\pastRuns\test_cpd49-1.70.101.iso\test_cpd49-1.70.101.iso.db');
В каталоге /pastRuns у меня есть несколько каталогов с именами, похожими на test_cpd49-1.70.101.iso, в которых также есть соответствующие файлы .db. Пример ниже:
/pastRuns
/test_cpd49-1.70.101.iso
-->test_cpd49-1.70.101.iso.db
/test_cpd49-1.70.119.iso
-->test_cpd49-1.70.119.iso.db
/test_cpd49-1.70.127.iso
-->test_cpd49-1.70.127.iso.db
/test_cpd49-1.71.104.iso
-->test_cpd49-1.71.104.iso.db
/test_cpd49-1.72.166.iso
-->test_cpd49-1.72.166.iso.db
Можно ли сделать этот путь к каждому из файлов .db динамическим, чтобы мне не приходилось иметь несколько точек входа?
Можете ли вы показать пример того, как вы представляете, что это работает? Возможно, описать вариант использования? Очень неясно, чего вы пытаетесь достичь на этом уровне.
В папке .iso существуют файлы .db и .json. Когда файл .json обновляется, я должен сравнить новые данные с данными в файле .db и обновить файл .db, если в файле .json существуют новые данные. У меня есть большая часть логики для этой части. Я просто хочу попробовать автоматизировать этот процесс, просмотреть все файлы .iso и выполнить ту же задачу. Но я пытаюсь найти работу со статическим адресом подключения к БД, если это возможно. Надеюсь, это даст вам лучшее представление о том, о чем я говорю.






Не уверен, что это то, что вы имели в виду, но вы пытаетесь что-то вроде этого, чтобы получить путь к файлам db, а затем подключиться к ним.
import os
path = r'C:\Users\gareth\Desktop\pastRuns'
for f in os.walk(path):
if f[2] and f[2][0].endswith('.db'):
print(os.path.join(f[0],f[2][0]))
conn = sqlite3.connect(os.path.join(f[0],f[2][0]))
# program logic goes here
conn.close()
Это подключается ко всем базам данных, а затем отбрасывает объекты подключения, не закрывая их. Маловероятно, что это то, чего хочет ОП.
попробуйте os.walk и присоединитесь к пути с помощью - os.path.join