찾다
백엔드 개발파이썬 튜토리얼Python 패키지를 가져오는 방법은 무엇입니까?

실행 파일과 대상 가져오기 모듈이 같은 디렉터리에 있습니다

직접 가져오기

예를 들어 ma_main의 <code>env 패키지에 있는 make_env.py /code> 파일에 있는 함수를 읽으려면<code>ma_main.py中导入env包中的make_env.py文件, 从而读取其中的函数

因为此时ma_main.pyenv包都在src这个根目录下, 所以可以直接import继续导入

Python 패키지를 가져오는 방법은 무엇입니까?

这里fromimport是因为make_env.py中只有一个函数就是make_env(), 所以直接import该函数, 在调用的时候可以直接写名字

Python 패키지를 가져오는 방법은 무엇입니까?

如果是from env import make_env, 那么调用make_env.py中的make_env()函数时, 还要用.进行声明

PS: from env import make_envimport env.make_env是一样的

执行文件和目标导入模块不在同一目录

如果执行文件和模块不在同一目录,这时候直接import是找不到自定义模块的。

Python 패키지를 가져오는 방법은 무엇입니까?

Python 패키지를 가져오는 방법은 무엇입니까?

例如这种情况: 要在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

Python 패키지를 가져오는 방법은 무엇입니까?

通过sys.path.append添加解释器模块搜索的路径, 然后通过模块名执行函数

Python 패키지를 가져오는 방법은 무엇입니까?

一个模块必须要有__init__.py文件

在Python中,一个目录要被视为一个,它必须包含一个__init__.py文件。这个文件可以是一个空文件,或者包含一些包初始化的代码。

没有__init__.py文件的目录就只是一个目录, 其他py文件无法导入该目录下的任何py文件中的函数

__init__.py文件可能包含:

  • 声明命名空间__init__.py

    현재 ma_main.pyenv 패키지가 모두 src 이므로 직접 가져오고 계속해서 가져올 수 있습니다
  • Python 패키지를 가져오는 방법은 무엇입니까?

    여기fromimport를 다시 실행하는 이유는 make_env.pymake_env()라는 함수가 하나만 있기 때문입니다. >, 호출 시 이 함수를 직접 가져올 수 있습니다. from env import make_env인 경우 make_env.py에서 make_env() 함수를 호출할 때 .

    PS:
  • from env import make_envimport env.make_env와 동일합니다.
  • 실행 파일과 대상 가져온 모듈은 다음과 같습니다. 같은 디렉터리에 있지 않음실행 파일과 모듈이 같은 디렉터리에 있지 않으면 직접 가져오기는 사용자 정의 모듈을 찾을 수 없습니다.

    🎜Python 패키지를 가져오는 방법은 무엇입니까?🎜🎜Python 패키지를 가져오는 방법은 무엇입니까?🎜🎜예를 들어, 이 경우: 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🎜🎜Python 패키지를 가져오는 방법은 무엇입니까?🎜🎜sys를 통해 인쇄합니다. .path.append 인터프리터 모듈에서 검색한 경로를 추가한 후, 모듈명을 통해 함수 실행 🎜🎜Python 패키지를 가져오는 방법은 무엇입니까?🎜🎜a 모듈에는 __init__.py 파일이 있어야 합니다. 🎜🎜Python에서 🎜디렉토리🎜가 🎜패키지🎜로 간주되려면 해당 파일에 __init__가 포함되어야 합니다. py 파일입니다. 이 파일은 빈 파일이거나 일부 패키지 초기화 코드를 포함할 수 있습니다. 🎜🎜__init__.py 파일이 없는 디렉터리는 단지 디렉터리일 뿐입니다. 다른 py 파일은 이 디렉터리에 있는 py 파일의 기능을 가져올 수 없습니다. 포함: 🎜
      🎜🎜🎜 선언 네임스페이스 🎜: __init__.py 파일에는 변수, 클래스 및 함수 선언이 포함될 수 있습니다. 🎜🎜🎜🎜🎜초기화 코드 🎜 : 🎜init🎜.py 파일에는 패키지를 가져올 때 실행될 초기화 코드가 포함될 수 있습니다. 이는 패키지 구성이나 패키지의 종속성 설치 확인과 같은 특정 필수 작업을 수행하는 데 사용할 수 있습니다. 🎜🎜🎜🎜🎜Submodule import🎜: 🎜init🎜.py 파일에는 다른 모듈을 가져오는 코드가 포함될 수 있습니다. 이는 사용자가 액세스할 수 있도록 패키지의 네임스페이스에 하위 모듈을 추가하는 데 사용할 수 있습니다. 🎜

Namespace

Python에서 네임스페이스는 변수와 함수 이름이 포함된 사전으로, 각 식별자의 이름과 값을 기록하는 데 사용됩니다. Python 인터프리터의 각 네임스페이스는 사전의 키-값 쌍을 통해 변수와 함수에 액세스할 수 있는 사전 개체입니다.

Python에는 세 가지 네임스페이스가 있습니다.

  • 내장 네임스페이스: Python 인터프리터에 내장된 변수와 함수를 포함합니다. 이러한 변수와 함수는 모듈을 가져오지 않고도 프로그램에서 직접 사용할 수 있습니다. print() 함수, len() 함수 등 print()函数、len()函数等。

  • 全局命名空间:在模块定义时创建,包含了在模块文件中定义的变量和函数。可以在模块中的任何地方使用这些变量和函数。

  • 局部命名空间:在函数调用时创建,包含了函数中定义的变量和函数。只能在函数内部使用这些变量和函数。

命名空间的作用是避免不同命名空间之间的变量或函数名冲突,并且可以更好地管理程序中的变量和函数。在Python中,可以通过使用globalnonlocal

🎜🎜🎜글로벌 네임스페이스🎜: 모듈이 정의될 때 생성되며, 모듈 파일에 정의된 변수와 함수가 포함됩니다. 이러한 변수와 함수는 모듈의 어느 곳에서나 사용할 수 있습니다. 🎜🎜🎜🎜🎜로컬 네임스페이스🎜: 함수가 호출될 때 생성되며, 함수에 정의된 변수와 함수를 포함합니다. 이러한 변수와 함수는 함수 내에서만 사용할 수 있습니다. 🎜🎜🎜🎜네임스페이스의 역할은 서로 다른 네임스페이스 간의 변수 또는 함수 이름 충돌을 방지하고 프로그램에서 변수 및 함수를 더 잘 관리하는 것입니다. Python에서는 globalnonlocal 키워드를 사용하여 전역 및 비지역 네임스페이스의 변수에 액세스하고 수정할 수 있습니다. 🎜

위 내용은 Python 패키지를 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 亿速云에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
详细讲解Python之Seaborn(数据可视化)详细讲解Python之Seaborn(数据可视化)Apr 21, 2022 pm 06:08 PM

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

详细了解Python进程池与进程锁详细了解Python进程池与进程锁May 10, 2022 pm 06:11 PM

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

Python自动化实践之筛选简历Python自动化实践之筛选简历Jun 07, 2022 pm 06:59 PM

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

归纳总结Python标准库归纳总结Python标准库May 03, 2022 am 09:00 AM

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于标准库总结的相关问题,下面一起来看一下,希望对大家有帮助。

分享10款高效的VSCode插件,总有一款能够惊艳到你!!分享10款高效的VSCode插件,总有一款能够惊艳到你!!Mar 09, 2021 am 10:15 AM

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

python中文是什么意思python中文是什么意思Jun 24, 2019 pm 02:22 PM

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

Python数据类型详解之字符串、数字Python数据类型详解之字符串、数字Apr 27, 2022 pm 07:27 PM

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

详细介绍python的numpy模块详细介绍python的numpy模块May 19, 2022 am 11:43 AM

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

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

mPDF

mPDF

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

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

DVWA

DVWA

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

PhpStorm 맥 버전

PhpStorm 맥 버전

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