Я собираю GUI для своей программы, используя PyQT5, и одно из действий - получить каталог папки и использовать его для доступа к файлам. Следовательно, пользователь должен выбрать местоположение папки, и программа получит доступ к папке, чтобы получить доступ к файлам внутри.
Я установил ее так, чтобы папка, выбранная пользователем, представляла собой переменную parent_path. Тогда parent_path2 - это следующий каталог, который на одну папку глубже.
Вот мой код:
class MainWindow(QMainWindow):
def __init__(self):
global ui
QMainWindow.__init__(self)
ui = uic.loadUi(_UI, self) # Load the ui into self
def browsebutton_clicked(self):
dir_ = QFileDialog.getExistingDirectory(None, 'Select a folder:', 'C:\\', QFileDialog.ShowDirsOnly)
self.lineEdit.setText(dir_)
parent_path = self.lineEdit.text()
print(parent_path)
print(type(parent_path))
def sitebutton_clicked():
input_site = ui.lineEdit_2.text()
print(input_site)
print(type(input_site))
# WHY DOES IT FAIL TO ADD A STR VARIABLE TO ANOTHER STR VARIABLE?
parent_path2 = parent_path + '/CongestionBackup_' + input_site
print(parent_path2)
А вот распечатанные выходные данные для отладки:
C:/Users/****/Documents/JAG Projects/SCATS Congestion Monitor BACKUP/CongestionBackup
<class 'str'>
2326
<class 'str'>
Process finished with exit code -1073740791 (0xC0000409)
Как вы можете видеть, если не удается пройти последние 2 строки, где parent_path2 - это просто конкатенация для трех строк, которые должны сформироваться: C:/Users/****/Documents/JAG Projects/SCATS Congestion Monitor BACKUP/CongestionBackup/CongestionBackup_2326
Я также не уверен в том, что означает этот код выхода, если он не работает. Я пробовал этот код в Jupyter Notebook, и строки могут быть добавлены вместе без каких-либо проблем. Я также попробовал функцию os.path.join (), которая также не работает.