问题描述
我将文件存储在“归档”文件夹内的子文件夹中,该文件用于重新加载之前创建的Dash可视化文件。即这些文件是plot_infos
,plot1.pickle
和plot2.pickle
。要使用这些文件,我正在浏览到QFileDialog.getExistingDirectory
我在代码的第一部分中使用:
import dash
import dash_html_components as html
import dash_core_components as dcc
import dash_table
import pandas as pd
import pickle
from PyQt5.QtWidgets import QFileDialog,QApplication
from dash.dependencies import Input,Output
import plotly.graph_objs as go
import os
import sys
ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
app = QApplication(sys.argv)
Archive_path = str(QFileDialog.getExistingDirectory(None,'Select Archive',os.path.join(ROOT_DIR,'Archives')))
with open('{}/plot_infos'.format(Archive_path),'rb') as fp:
infos = pickle.load(fp)
但是后来,我正在使用:
@app.callback(
Output('comparison-graph','figure'),[Input('period-selector','value'),Input('special-selector','value')])
def update_graph(period_value,special_condition):
dff = pd.read_pickle('{0}/plot1.pickle'.format(Archive_path))
dff2 = pd.read_pickle('{0}/plot2.pickle'.format(Archive_path))
加载其他两个文件。
它按我的预期工作,但QFileDialog会打开两次,所以我必须选择两次文件夹,否则Dash可视化将不会重新加载。
我知道我应该将从QFileDialog获得的路径存储为字符串,但是尽管Archive_path
是用Archive_path = str(QFileDialog.getExistingDirectory(None,'Archives')))
定义的,但似乎每次使用cuddN_STATUS_BAD_ParaM
时代码都会调用QFileDialog。
我应该怎么做才能使QFileDialog仅打开一次并将所选文件夹的路径存储为字符串值,而不是两次调用QFileDialog?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)