tckraomuqnt
tckraomuqnt

Reputation: 492

How to Import files from another folder in python?

How to import files from another folder, try so many things, but my attempt is not fruitful. How to resolve it?

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

How to import module1 and module 3 from my first file(my_main_file.py) into my _second_file.py

My_main_file This is my main file('d:/project_main/main folder'). now I want to import modules "establish_connection_general and other things to my second file. ( 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()

Upvotes: 2

Views: 1090

Answers (1)

Hariharan
Hariharan

Reputation: 371

in my_second_file.py

from First_Folder.my_main_file import My_Main_Class

After Your comment:

from First_Folder.my_main_file import ex(your class object)

In your second file

ex.module1()
ex.module3()

Upvotes: 3

Related Questions