실행 파일과 대상 가져오기 모듈이 같은 디렉터리에 있습니다
직접 가져오기
예를 들어 ma_main의 <code>env 패키지
에 있는 make_env.py /code> 파일에 있는 함수를 읽으려면<code>ma_main.py
中导入env包
中的make_env.py
文件, 从而读取其中的函数
因为此时ma_main.py
和env包
都在src
这个根目录下, 所以可以直接import继续导入
这里from
再import
是因为make_env.py
中只有一个函数就是make_env()
, 所以直接import该函数, 在调用的时候可以直接写名字
如果是from env import make_env
, 那么调用make_env.py
中的make_env()函数
时, 还要用.
进行声明
PS: from env import make_env
和import env.make_env
是一样的
执行文件和目标导入模块不在同一目录
如果执行文件和模块不在同一目录,这时候直接import是找不到自定义模块的。
例如这种情况: 要在main.py
中导入pwcong
包从而执行__init__.py
的一些方法
然而main.py
在./Torch/main/
下, 而pwcong
在./Torch/
下
即不在同一个目录, 此时main.py
文件python解释器模块搜索的路径列表中不包含是./Torch
所以这时候就要用python中自带的sys包
导入自定义模块的路径, 从而手动添加Python解释器在main.py
中的模块搜索的路径列表 , 之后才能成功导入
Python解释器搜索模块的路径列表
在Python中,当你导入一个模块时,解释器会从一个路径列表中查找该模块。
这个路径列表通常包括Python解释器安装的默认路径,以及在环境变量
PYTHONPATH
中指定的任何路径。使用
sys.path.append()
函数可以向这个路径列表中添加新的路径,以便解释器能够找到你指定的模块。添加新路径后,你就可以通过
import
语句导入该路径下的模块。这并不会影响命名空间,而只是告诉解释器在哪里可以找到要导入的模块。
操作步骤
导入自定义模块的步骤如下:
先导入sys模块
然后通过
sys.path.append(path)
函数来导入自定义模块所在的目录导入自定义模块。
即在main.py
的最上面几行写入如下代码手动定义该文件的python解释器路径
import sys sys.path.append(r"C:\Users\PC\Desktop\Torch") # 要加上地址生命符r, 并且要是绝对路径
在__init__.py
中定义一个hello函数, 打印hello
通过sys.path.append添加解释器模块搜索的路径, 然后通过模块名执行函数
一个模块必须要有__init__.py
文件
在Python中,一个目录要被视为一个包,它必须包含一个__init__.py
文件。这个文件可以是一个空文件,或者包含一些包初始化的代码。
没有__init__.py
文件的目录就只是一个目录, 其他py文件无法导入该目录下的任何py文件中的函数
__init__.py
文件可能包含:
-
声明命名空间:
현재__init__.py
ma_main.py
와env 패키지
가 모두 src 이므로 직접 가져오고 계속해서 가져올 수 있습니다 -
여기
PS:from
import
를 다시 실행하는 이유는make_env.py
에make_env()
라는 함수가 하나만 있기 때문입니다. >, 호출 시 이 함수를 직접 가져올 수 있습니다.from env import make_env
인 경우make_env.py
에서make_env() 함수
를 호출할 때 . -
실행 파일과 대상 가져온 모듈은 다음과 같습니다. 같은 디렉터리에 있지 않음실행 파일과 모듈이 같은 디렉터리에 있지 않으면 직접 가져오기는 사용자 정의 모듈을 찾을 수 없습니다.
🎜🎜🎜
🎜🎜예를 들어, 이 경우:
main.py
에서pwcong
패키지를 가져와서 __init__.py🎜🎜의 일부 메소드는main.py
가./Torch/main/
아래에 있고pwcong
는아래에 있습니다./Torch/
는 같은 디렉토리에 없습니다. 이때main.py
파일 🎜은 검색된 경로 목록에를 포함하지 않습니다. ./Torch
🎜🎜따라서 이때 Python과 함께 제공되는sys 패키지
를 사용하여 🎜커스텀 모듈의 경로🎜를 가져와야 합니다. 그런 다음main에 Python 인터프리터를 수동으로 추가하세요. py
의 🎜 모듈 검색 경로 목록🎜은 🎜Python 인터프리터 검색 모듈 경로 목록
- 🎜🎜 Python에서 🎜모듈을 가져오면🎜, 인터프리터는 경로 목록에서 🎜모듈을 🎜찾습니다. 🎜🎜🎜🎜이 경로 목록에는 일반적으로 🎜Python 인터프리터 설치를 위한 기본 경로🎜와 🎜환경 변수
PYTHONPATH
에 지정된 모든 경로 🎜가 포함됩니다. 🎜🎜🎜🎜통역사가 지정한 모듈을 찾을 수 있도록sys.path.append()
함수를 사용하여 이 경로 목록에 🎜새 경로를 추가🎜하세요. 🎜🎜🎜🎜새 경로를 추가한 후import
문을 통해 경로 아래의 모듈을 가져올 수 있습니다. 🎜🎜🎜🎜이것은 🎜네임스페이스에 영향을 미치지 않고 🎜단순히 🎜통역사에게 가져올 모듈을 찾을 위치를 🎜알려줍니다. 🎜🎜작업 단계
🎜사용자 정의 모듈을 가져오는 단계는 다음과 같습니다. 🎜- 🎜🎜먼저 sys 모듈을 가져옵니다🎜🎜🎜 🎜 그런 다음 sys.path.append(path) 함수를 전달하여 🎜사용자 정의 모듈이 있는 디렉터리를 가져옵니다🎜🎜🎜🎜🎜사용자 정의 모듈을 가져옵니다. 🎜🎜
main.py
의 맨 위 몇 줄에 다음 코드를 작성하여 파일의 Python 인터프리터 경로를 수동으로 정의합니다🎜rrreee🎜__init__.py에서
> hello 함수를 정의하고 hello🎜🎜🎜🎜sys를 통해 인쇄합니다. .path.append 인터프리터 모듈에서 검색한 경로를 추가한 후, 모듈명을 통해 함수 실행 🎜🎜
🎜🎜a 모듈에는
__init__.py
파일이 있어야 합니다. 🎜🎜Python에서 🎜디렉토리🎜가 🎜패키지🎜로 간주되려면 해당 파일에__init__가 포함되어야 합니다. py
파일입니다. 이 파일은 빈 파일이거나 일부 패키지 초기화 코드를 포함할 수 있습니다. 🎜🎜__init__.py
파일이 없는 디렉터리는 단지 디렉터리일 뿐입니다. 다른 py 파일은 이 디렉터리에 있는 py 파일의 기능을 가져올 수 없습니다. 포함: 🎜- 🎜🎜🎜 선언 네임스페이스 🎜:
__init__.py
파일에는 변수, 클래스 및 함수 선언이 포함될 수 있습니다. 🎜🎜🎜🎜🎜초기화 코드 🎜 : 🎜init🎜.py 파일에는 패키지를 가져올 때 실행될 초기화 코드가 포함될 수 있습니다. 이는 패키지 구성이나 패키지의 종속성 설치 확인과 같은 특정 필수 작업을 수행하는 데 사용할 수 있습니다. 🎜🎜🎜🎜🎜Submodule import🎜: 🎜init🎜.py 파일에는 다른 모듈을 가져오는 코드가 포함될 수 있습니다. 이는 사용자가 액세스할 수 있도록 패키지의 네임스페이스에 하위 모듈을 추가하는 데 사용할 수 있습니다. 🎜
from env import make_env
는 import env.make_env
와 동일합니다.Namespace
Python에서 네임스페이스는 변수와 함수 이름이 포함된 사전으로, 각 식별자의 이름과 값을 기록하는 데 사용됩니다. Python 인터프리터의 각 네임스페이스는 사전의 키-값 쌍을 통해 변수와 함수에 액세스할 수 있는 사전 개체입니다.
Python에는 세 가지 네임스페이스가 있습니다.
내장 네임스페이스: Python 인터프리터에 내장된 변수와 함수를 포함합니다. 이러한 변수와 함수는 모듈을 가져오지 않고도 프로그램에서 직접 사용할 수 있습니다. print() 함수,
len()
함수 등print()
函数、len()
函数等。全局命名空间:在模块定义时创建,包含了在模块文件中定义的变量和函数。可以在模块中的任何地方使用这些变量和函数。
局部命名空间:在函数调用时创建,包含了函数中定义的变量和函数。只能在函数内部使用这些变量和函数。
命名空间的作用是避免不同命名空间之间的变量或函数名冲突,并且可以更好地管理程序中的变量和函数。在Python中,可以通过使用global
和nonlocal
global
및 nonlocal
키워드를 사용하여 전역 및 비지역 네임스페이스의 변수에 액세스하고 수정할 수 있습니다. 🎜위 내용은 Python 패키지를 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
