Home  >  Article  >  Backend Development  >  How to implement functions that reference other files in scripts in Python

How to implement functions that reference other files in scripts in Python

WBOY
WBOYOriginal
2016-07-06 13:29:551363browse

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~

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn