我有2个.py文件,第一个是:
Test.py
import os
import sqlite3
docs= os.path.abspath('..').rsplit("\\",1)[0]
datab=(docs+ "\\BMS\\Database\\Database.db")
datab.encode('unicode-escape')
conn=sqlite3.connect(datab)
这个工作正常,而我在search.py中有完全相同的代码,在一个类中,我在forms.py中导入,这是 django 的一部分
search.py
import sqlite3
import os
class SearchBy(object):
docs= os.path.abspath('..').rsplit("\\",1)[0]
datab=(docs+ "\\BMS\\Database\\Database.db")
datab.encode('unicode-escape')
conn=sqlite3.connect(datab)
def get_countries(self):
do something
最后 forms.py
from django import forms
import sqlite3
from .search import SearchBy
class searchForm(forms.Form):
search_class=SearchBy()
lista_tari=get_countries()
country=forms.ChoiceField(choices=lista_tari, widget=forms.Select(), initial=0,required=True)
我简直无法理解为什么会收到这个错误:
sqlite3.OperationalError: unable to open database file
在其他文件中,一切正常。
答案 0 :(得分:0)
检查文件架构,当在python中包含.py文件时,包含文件中的路径按原样导入。 意思是如果它们不在同一个文件夹中,则路径在2
之间是不同的