다른 .py 파일에서 함수를 호출하려면 어떻게 해야 합니까?
file.py
라는 이름의 함수가 포함되어 있습니다.function
. Import는 어떻게 하나요?
from file.py import function(a,b)
위의 오류는 다음과 같습니다.
ImportError: 'file.py'이라는 이름의 모듈이 없습니다.파일은 패키지가 아닙니다.
첫째, Importfunction
부터file.py
:
from file import function
나중에 다음 명령을 사용하여 함수를 호출합니다.
function(a, b)
주의:file
Python의 핵심 모듈 중 하나이기 때문에 파일명을 변경할 것을 권장합니다.file.py
다른 무언가로.
다음에서 함수를 Import하려고 할 경우a.py
라고 하는 파일에b.py
, 다음 사항을 확인해야 합니다.a.py
그리고.b.py
같은 디렉토리에 있습니다.
쓰지 않다.py
Import 시.
허락하다file_a.py
에는 다음과 같은 기능이 포함되어 있습니다.
def f():
return 1
def g():
return 2
이러한 기능을 로 Import 하려면file_z.py
, 다음을 수행합니다.
from file_a import f, g
파일이 다른 패키지 구조로 되어 있고 다른 패키지에서 호출하려면 다음과 같이 호출할 수 있습니다.
python 프로젝트에 다음과 같은 패키지 구조가 있다고 가정해 보겠습니다.
인 -com.my.func.DifferentFunction
python 파일에는 다음과 같은 함수가 있습니다.
def add(arg1, arg2):
return arg1 + arg2
def sub(arg1, arg2) :
return arg1 - arg2
def mul(arg1, arg2) :
return arg1 * arg2
다른 함수를 호출하고 싶은 경우Example3.py
다음 방법으로 실행할 수 있습니다.
Import 스테이트먼트의 정의Example3.py
- 모든 기능 Import용
from com.my.func.DifferentFunction import *
또는 Import할 각 함수 이름을 정의합니다.
from com.my.func.DifferentFunction import add, sub, mul
그럼 인Example3.py
함수를 호출하여 실행할 수 있습니다.
num1 = 20
num2 = 10
print("\n add : ", add(num1,num2))
print("\n sub : ", sub(num1,num2))
print("\n mul : ", mul(num1,num2))
출력:
add : 30
sub : 10
mul : 200
방법 1파일에서 원하는 특정 기능을 가져옵니다.py:
from file import function
방법 2전체 파일 가져오기:
import file as fl
다음으로 file.py 내의 함수를 호출하려면 다음 명령을 사용합니다.
fl.function(a, b)
다른 디렉토리에서 함수를 호출할 수도 있습니다.이러한 디렉토리에서 함수를 호출할 수 없거나 호출하고 싶지 않은 경우입니다.이 작업은 두 가지 방법으로 수행할 수 있습니다(대안은 더 있을 수 있지만, 이 방법들이 나에게 효과가 있습니다).
대안 1 작업 디렉토리를 일시적으로 변경합니다.
import os
os.chdir("**Put here the directory where you have the file with your function**")
from file import function
os.chdir("**Put here the directory where you were working**")
대체 2 함수를 가진 디렉토리를 sys.path에 추가합니다.
import sys
sys.path.append("**Put here the directory where you have the file with your function**")
from file import function
고치다
Module Not Found Error: 명명된 모듈이 없습니다.
점을 찍어 보다.
파일 이름 앞에 상대 Import를 수행합니다.
from .file import function
.py 파일의 함수(물론 다른 디렉토리에 있을 수 있음)는 먼저 디렉토리를 작성한 다음 확장자 .py를 붙이지 않은 파일 이름을 간단하게 가져올 수 있습니다.
from directory_name.file_name import function_name
나중에 function_name()
모듈 이름을 '파일'이 아닌 다른 이름으로 변경하십시오.
그리고 함수를 호출할 때도 다음 사항을 확인하십시오.
1) 모듈 전체를 Import 할 경우 모듈 이름을 반복하여 호출합니다.
import module
module.function_name()
또는
import pizza
pizza.pizza_function()
2) 또는 *를 사용하여 특정 함수, 별칭이 있는 함수 또는 모든 함수를 Import하는 경우 모듈 이름을 반복하지 않습니다.
from pizza import pizza_function
pizza_function()
또는
from pizza import pizza_function as pf
pf()
또는
from pizza import *
pizza_function()
형식으로 .py 파일).my_example.py
함수가
def xyz():
--------
--------
def abc():
--------
--------
호출 기능에서는 아래 행만 입력하면 됩니다.
file_name: my_param2.화이
============================
import my_example.py
a = my_example.xyz()
b = my_example.abc()
============================
MathMethod 내부.파이.
def Add(a,b):
return a+b
def subtract(a,b):
return a-b
메인 내부파이
import MathMethod as MM
print(MM.Add(200,1000))
출력: 1200
을 .
코드를 실행하고 있는 디렉토리와 같은 디렉토리에 있는 이 파일을 Import 하는 경우는, 파일명 앞에 표시됩니다.
예를 들어, 다음 파일을 실행하고 있습니다.a.py
.addFun
.b.py
, , , , 입니다.b.py
내에 ?
from .b import addFun
안 넣어도 요.file.py
.
파일을 Import할 곳의 파일과 같은 장소에 보관합니다.그런 다음 함수를 Import합니다.
from file import a, b
【】 : in one file 1 】myfun.py
임의의 함수를 정의합니다.
# functions
def Print_Text():
print( 'Thank You')
def Add(a,b):
c=a+b
return c
다른 파일:
#Import defined functions
from myfun import *
#Call functions
Print_Text()
c=Add(1,2)
해결책 2: 위의 솔루션이 Colab에 대해 작동하지 않는 경우
- 를 만듭니다.
myfun
- " " 를 .
__init__.py
- 의 모든 을 기사에 쓰세요.
__init__.py
- 노트북 Colab에서 . Import
from myfun import *
Import하려는 Python 파일의 위치와 동일한 위치에 파일이 있어야 합니다.from file import 기능으로도 충분합니다.
위의 어떤 해결책도 나에게는 효과가 없었다.ModuleNotFoundError: No module named whtever
제 Import되었습니다. 수입하다
from . import filename # without .py
나의 첫 번째 파일 안에 나는 다음과 같이 함수의 재미를 정의했다.
# file name is firstFile.py
def fun():
print('this is fun')
두 번째 파일 안에 있는 함수를 fun이라고 부릅니다.
from . import firstFile
def secondFunc():
firstFile.fun() # calling `fun` from the first file
secondFunc() # calling the function `secondFunc`
호출하는 파일이 anotherfile.py이고 호출하는 메서드가 method1이라고 가정하고 먼저 파일을 Import하고 다음으로 메서드를 Import합니다.
from anotherfile import method1
method1이 클래스의 일부인 경우 클래스를 class1로 합니다.
from anotherfile import class1
그런 다음 class1 개체를 만들고 개체 이름을 ob1이라고 가정하면,
ob1 = class1()
ob1.method1()
엔 내 을 붙였어helper.scrap.py
가 그 을 할 까지 잘 helper.py
detectiveROB.py
i to call " (콜이 필요합니다)passGen
해시를 가 "에 있는 modules\passwordGen.py
저에게 가장 빠르고 쉬운 해결책은
아래는 내 디렉토리 구조입니다.
래서에서...detectiveROB.py
.
from modules.passwordGen import passGen
간단한 제안입니다. alt+를 눌러 자동 Import를 믿는 사람은 Pycharm에 들어가 도움을 받을 수 없습니다.
Import처의 파일명을 변경하기만 하면 됩니다.파일을 오른쪽 클릭하여 refactor->rename을 클릭합니다.자동 Import 옵션이 표시됩니다.
언급URL : https://stackoverflow.com/questions/20309456/how-do-i-call-a-function-from-another-py-file
'programing' 카테고리의 다른 글
키별로 사전을 정렬하려면 어떻게 해야 합니까? (0) | 2022.09.12 |
---|---|
MariaDB - 릴레이 로그 읽기 실패: 릴레이 로그 이벤트 항목을 구문 분석할 수 없습니다. (0) | 2022.09.12 |
SQL INSERT 문에 Python dict 사용 (0) | 2022.09.11 |
변경 전 선택(드롭다운) 값을 가져오는 중 (0) | 2022.09.11 |
어레이에 값을 추가하는 가장 효율적인 방법 (0) | 2022.09.11 |