When importing files, Python only searches the directory where the current script is located, loading (entry-point) entry script running directory and the path contained in sys.path, such as the installation address of the package. So if you want to reference other files in the current script, in addition to placing the files in the same directory as the script, there are several other methods:
1. Add the file location to sys.path
import sys sys.path.insert(0, '/path/to/application/app/folder') # or sys.path.append('/path/to/application/app/folder') import file
2. Create a new __init__.py file in the file directory and call the file
from application.app.folder.file import func_name
init.py file
a) Function of .init.py file
The main function of this file is to initialize the Python package. If the file is included in the directory, the Python interpreter will treat the directory as a package. In the next step, you can use the import statement to reference the files in this directory in other .py scripts. The structure of a standard Python module is as follows:
package/ __init__.py file.py file2.py subpackage/ __init__.py submodule1.py submodule2.py
b). The __init__ file can be empty but can be used to establish requirements for the package. Generally speaking, those classes, functions, etc. that need to be imported to the package level will be written in this file so that they can be easily referenced. For example: If there is a File class in the file.py file, you need to do this to reference the File class when nothing is written in the init.py file:
from package.file import File
If file is imported into the package in the __init__.py file, the File class can be directly referenced at the package level:
# in your __init__.py from file import File # in your script from package import File
In addition, one thing to note is the all variable in the __init__.py file.
If the interpreter observes the __all__ variable in the __init__.py file, then only those modules listed in the __all__ variable will be imported when running from package import *.
For example: If you want to introduce only the submodule1 module in the above structure, you can define __all__ = ['submodule1'] in the subpackage/__init__.py file. When referencing subpackage from subpackage import *, only the submodule1 module will be introduced. .
3. Add the directory where the file is located to the python environment variable
export PYTHONPATH=$HOME/pathToYourScripts/:#PYTHONPATH
The above is all the implementation methods of referencing other file functions in scripts in Python brought to you by the editor. I hope you will support Script Home~