繁体   English   中英

如何从python中的另一个文件夹导入文件?

[英]How to Import files from another folder in python?

如何从另一个文件夹导入文件,尝试了很多东西,但我的尝试没有结果。 如何解决?

-> d:
   -> project Main
      -> First Folder
         -> my_main_file.py
            -> class (My_Main_Class)
               -> module1
               -> module2
               -> module3
      -> Second Folder 
         -> my_second_file.py    

如何将模块 1 和模块 3 从我的第一个文件 (my_main_file.py) 导入到我的 _second_file.py

My_main_file这是我的主文件('d:/project_main/main folder')。 现在我想将模块“establish_connection_general 和其他东西导入我的第二个文件。(d:/project_main/second_folder)

    from PyQt5.QtWidgets import QWidget,QMessageBox,QApplication
    from PyQt5.QtGui import QIcon

    import sqleet
    import os
    import sys
    print("1234567890aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
    
    file_path_general = r"d:\project makeeasy\assist"
    db_name_general = (os.path.join(file_path_general,'makeeasy_general.me'))
    
    passkey_general = "1234"
    new_passkey_general = "1234"
    
    show_errormsg = "show"
    
    
    class Database_connection(QWidget):
    
        def __init__(self):
            super(). __init__()
            self.establish_connection_general()
            # self.cahnge_passkey()
    
        def establish_connection_general(self):
            try:
                connection_general = sqleet.connect(db_name_general,key = passkey_general)
                print("open scueffully")
            except Exception as e:
                if show_errormsg == "show":
                    self.handle_error(e)
                else:
                    pass
    
    
        def cahnge_passkey(self):
            try:
                general_connection = sqleet.connect(db_name_general,key = passkey_general)
                general_connection.change_key(new_passkey_general)
                print("new pass key sucessfully changed")
                general_connection.close()
    
            except Exception as e:
                if show_errormsg == "show":
                    self.handle_error(e)
                else:
                    pass
    
        def handle_error(self,error):
            exc_type, exc_value, exc_traceback = sys.exc_info()
            filenamewithpath = exc_traceback.tb_frame.f_code.co_filename
            head,tail = os.path.split((filenamewithpath))
            lineno = exc_traceback.tb_lineno
            name = exc_traceback.tb_frame.f_code.co_name
            type = exc_type.__name__
            message = exc_value
            nl = '\n'
            kk = f'File Name : {tail[:-3]}{nl}'\
                 f'Line No. : {lineno}{nl}'\
                 f'Type : {type}{nl}'\
                 f'Name : {name}{nl}'
            self.msg = QMessageBox()
            self.msg.setFixedSize(1600,400)
            self.msg.setWindowTitle("  Error/Bugs Information")
            self.msg.setWindowIcon(QIcon('icon\close006.png'))
            fd = "                                                                           "
            self.msg.setText(f'{type} - {lineno}{fd}')
            self.msg.setIcon(QMessageBox.Information)
            self.msg.setStandardButtons(QMessageBox.Ok)
            self.msg.setDefaultButton(QMessageBox.Ok)
            self.msg.setInformativeText("")
            self.msg.setDetailedText(kk)
            self.msg.show()
    
    def main():
        app = QApplication(sys.argv)
        ex = Database_connection()
        app.setStyle("Fusion")
        sys.exit(app.exec_())
    
    if __name__ == '__main__':
        main()

my_second_file.py

from First_Folder.my_main_file import My_Main_Class

在您发表评论后:

from First_Folder.my_main_file import ex(your class object)

在你的第二个文件中

ex.module1()
ex.module3()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM