>  기사  >  백엔드 개발  >  Python에서 가져오기를 사용하는 방법

Python에서 가져오기를 사용하는 방법

coldplay.xixi
coldplay.xixi원래의
2021-03-05 14:35:2725994검색

파이썬에서 가져오기 방법을 사용하세요. 1. [import module_name], 즉 가져오기 후에 모듈 이름이 직접 연결됩니다. 2. [from package_name import module_name]은 모듈의 모음입니다.

Python에서 가져오기를 사용하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, Python 버전 3.9, DELL G3 컴퓨터.

파이썬에서 가져오기 방법 사용:

먼저 작업 디렉터리로 Tree 폴더를 만들고 그 안에 m1.py 및 m2.py 두 파일을 만들고 m1.py에 코드를 작성합니다.

import os
import m2
m2.printSelf()

m2.py에 코드 작성:

def printSelf():
print('In m2')

명령줄을 열고 Tree 디렉터리에 들어가서 python m1.py를 입력하여 실행하면 오류가 보고되지 않는 것을 확인하고 In m2가 인쇄되어 사용에 문제가 없음을 나타냅니다. 이런 식으로 수입하세요. 여기에서 import 문의 첫 번째 사용법을 요약합니다.

<code><strong>import module_name</strong>即import后直接接模块名。在这种情况下,Python会在两个地方寻找这个模块,第一是sys.path(通过运行代码import sys; print(sys.path)查看),os这个模块所在的目录就在列表sys.path中,一般安装的Python库的目录都可以在sys.path中找到(前提是要将Python的安装目录添加到电脑的环境变量),所以对于安装好的库,我们直接import即可。第二个地方就是运行文件(这里是m1.py)所在的目录,因为m2.py和运行文件在同一目录下,所以上述写法没有问题。

用上述方法导入原有的sys.path中的库没有问题。但是,最好不要用上述方法导入同目录下的文件!因为这可能会出错。演示这个错误需要用到import语句的第二种写法,所以先来学一学import的第二种写法。在Tree目录下新建一个目录Branch,在Branch中新建文件m3.py,m3.py的内容如下:

def printSelf():
print(&#39;In m3&#39;)

如何在m1中导入m3.py呢,请看更改后的m1.py:

from Branch import m3
m3.printSelf()

总结import语句的第二种用法:

<strong>from package_name import module_name</strong>一般把模块组成的集合称为包(package)。与第一种写法类似,Python会在sys.path和运行文件目录这两个地方寻找包,然后导入包中名为module_nameimport module_name

.

즉, import 후 모듈 이름을 바로 따라가면 됩니다. 이 경우 Python은 두 위치에서 이 모듈을 찾습니다. 첫 번째는 sys.path입니다(import sys; print(sys.path) 코드를 실행하여 확인). os 모듈이 있는 디렉터리는 목록에 있습니다. sys.path , 일반적으로 설치되는 Python 라이브러리의 디렉터리는 sys.path 에서 찾을 수 있으므로(Python 설치 디렉터리를 컴퓨터의 환경 변수에 추가하는 것이 전제임), 설치된 라이브러리에 대해서는 직접 가져올 수 있습니다. 두 번째는 실행 파일(여기서는 m1.py)이 있는 디렉터리입니다. m2.py와 실행 파일이 같은 디렉터리에 있기 때문에 위의 작성 방법에는 문제가 없습니다.

위 방법을 사용하면 sys.path에 원본 라이브러리를 가져오는 데 문제가 없습니다. 그러나 동일한 디렉터리에 있는 파일을 가져올 때 위의 방법을 사용하지 않는 것이 가장 좋습니다! 왜냐하면 이것은 잘못될 수 있기 때문입니다. 이 오류를 설명하려면 import 문을 작성하는 두 번째 방법을 사용해야 하므로 먼저 import 문을 작성하는 두 번째 방법을 배워보겠습니다. Tree 디렉터리 아래에 Branch 디렉터리를 새로 생성하고, Branch에 m3.py 파일을 새로 생성합니다. m3.py의 내용은 다음과 같습니다.

def printSelf():
print(&#39;In m4&#39;)

m3.py를 m1으로 가져오는 방법은 변경된 m1.py를 참조하세요. :

import m4
def printSelf():
print(&#39;In m3&#39;)

import 문의 두 번째 사용법을 요약하면:

<p>from package_name import module_name</p>
.

일반적으로 모듈 모음을 패키지라고 합니다. 첫 번째 작성 방법과 유사하게 Python은 sys.path와 실행 파일 디렉터리의 두 위치에서 패키지를 찾은 다음 패키지에서 module_name이라는 모듈을 가져옵니다. 이제 동일한 디렉터리의 파일을 가져오기 위해 첫 번째 가져오기 방법을 사용하면 안되는 이유를 설명하겠습니다. Branch 디렉터리에 새로운 m4.py 파일을 생성합니다. m4.py의 내용은 다음과 같습니다.

from . import m4
def printSelf():
print(&#39;In m3&#39;)
그런 다음 m3.py에서 m4를 직접 가져오면 m3.py는 다음과 같습니다. 🎜rrreee🎜 이때 오류가 발생합니다. m1.py를 실행할 때 m4 모듈을 가져올 수 없다는 메시지가 보고됩니다. 왜? 가져오기 프로세스를 살펴보겠습니다. m1은 Branch import m3을 사용하여 m3을 가져온 다음 import m4를 사용하여 m3.py에서 m4를 가져옵니다. 문제가 보이나요? m4.py와 m1.py가 같은 디렉토리에 있지 않습니다. import m4를 사용하여 m4를 직접 가져올 수 있는 방법은 무엇입니까? (독자는 Tree 디렉토리에 직접 다른 m4.py 파일을 생성해 볼 수 있습니다. m1.py를 다시 실행하면 오류가 없지만 두 번째 m4.py를 가져옵니다.) 🎜🎜위 오류가 발생하면 no python2를 사용하여 m1.py를 실행하면 오류가 보고됩니다. python2에서는 위에서 언급한 import를 작성하는 두 가지 방법이 상대 가져오기이고 python3에서는 절대 가져오기이기 때문입니다. 즉, 수입의 가장 중요한 부분인 상대 수입과 절대 수입에 관한 것입니다. 🎜🎜우리는 여전히 Python3의 가져오기 사용법에 대해 이야기하고 있습니다. 위에서 언급한 두 가지 작성 방법은 절대 가져오기(absolute import)로, sys.path에 있는 패키지와 실행 파일이 있는 디렉터리에 있는 패키지를 가져오는 데 사용됩니다. sys.path에 있는 패키지의 경우 이러한 작성 방법은 문제가 되지 않습니다. 직접 작성한 파일을 가져오는 경우 해당 파일이 실행되지 않는 항목 파일인 경우(위의 m1.py가 실행 중인 항목 파일인 경우 절대 가져오기를 사용할 수 있습니다. ), 상대적으로 가져와야 합니다. 🎜🎜예를 들어 실행되지 않는 항목 파일 m3.py의 경우 m4.py를 가져오려면 상대 가져오기를 사용해야 합니다. 🎜rrreee🎜지금은 m1.py를 실행해도 괜찮습니다. 🎜🎜🎜관련 무료 학습 권장사항: 🎜python 비디오 튜토리얼🎜🎜🎜

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.