0

我在将我创建的一个 *.sqlite ddbb 从一个文件夹移动到另一个文件夹时遇到了一些麻烦。

这是我的尝试:

Import os 
Import sqlite3
Import pandas as pd

#There is some code here to get my pandas dataframe

那么以下代码的目标是:从 pandas 数据框(dfGlobalProcess)创建一个 sqlite ddbb,然后将其移动到另一个名为“Projects_ddbb”的子文件夹中。如果我可以将它直接保存到另一个文件夹中,那就太好了。

这是代码:

ddbbName='ExampleProject1' #I know this line does nothing right now... but in the future this should be an user input     
ddbbName2= ddbbName + '.sqlite'

conn = sqlite3.connect('' + ddbbName2 +'')     
dfGlobalProcess.to_sql('ProcessesElemFlows', conn, index=False, if_exists='replace') 
conn.close() 

prevName='' + ddbbName2 + ''
newName='Projects_ddbb/' + prevName + ''

os.rename(prevName,newName)

当我运行此代码时,我收到以下错误:

PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'ExampleProject1.sqlite' -> 'Projects_ddbb/ExampleProject1.sqlite'

我已经在 stackoverflow 中搜索了解决方案,但我无法弄清楚如何解决它

如果我运行相同的代码但移动存储 ddbb 的同一文件夹中的 *.txt 文件,则 *.txt 文件将按预期移动到“Projects_ddbb”文件夹。

看起来我以某种方式打开了 ddbb,但由于我对 Python 和一般编程相当陌生,所以我不知道如何继续。

我也尝试过这样的事情,但我不知道这是否有意义......可能不是因为它不起作用:

os.close('ExampleProject1.sqlite')

任何帮助都感激不尽。

4

0 回答 0