Set_up : 프로그램에서 사용해야하는 각 함수마다 .py 파일이 있습니다.
이 프로그램에서는 외부 파일에서 함수를 호출해야합니다.
난 노력 했어:
from file.py import function(a,b)
하지만 오류가 발생합니다.
ImportError : ‘file.py’라는 모듈이 없습니다. 파일이 패키지가 아닙니다
이 문제를 어떻게 해결합니까?
답변
file.py
가져 오는 동안 추가 할 필요가 없습니다 . 그냥 쓰고 from file import function
나서를 사용하여 함수를 호출하십시오 function(a, b)
. 이것이 작동하지 않는 이유 file
는 파이썬의 핵심 모듈 중 하나 이기 때문에 파일 이름을 변경하는 것이 좋습니다.
당신이 가져 오기 기능하려고하는 경우주의 a.py
라는 파일에 b.py
, 당신이 있는지 확인해야합니다 a.py
와 b.py
같은 디렉토리에 있습니다.
답변
우선 당신은 필요하지 않습니다 .py
.
파일이 a.py
있고 내부에 몇 가지 기능이 있습니다.
def b():
# Something
return 1
def c():
# Something
return 2
그리고 당신은 그들을 가져올 z.py
당신이 작성해야
from a import b, c
답변
두 가지 방법으로이 작업을 수행 할 수 있습니다. 먼저 file.py에서 원하는 특정 함수를 가져 오는 것입니다. 이 사용하려면
from file import function
다른 방법은 전체 파일을 가져 오는 것입니다
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
답변
파일이 다른 패키지 구조에 있고 다른 패키지에서 파일을 호출하려는 경우 다음과 같은 방식으로 파일을 호출 할 수 있습니다.
파이썬 프로젝트에 다음과 같은 패키지 구조가 있다고 가정 해 봅시다.
– com.my.func.DifferentFunction
파이썬 파일에는 다음과 같은 기능이 있습니다.
def add(arg1, arg2):
return arg1 + arg2
def sub(arg1, arg2) :
return arg1 - arg2
def mul(arg1, arg2) :
return arg1 * arg2
그리고에서 다른 함수를 호출 Example3.py
하고 다음과 같이 할 수 있습니다.
Example3.py
모든 기능을 가져 오기 위해 파일에 import 문 정의
from com.my.func.DifferentFunction 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
답변
동일한 기능을 사용했지만 작동하려면 아래를 수행해야했습니다.
‘ModuleNotFoundError : No module named’가 표시되면 아래와 같이 파일 이름 앞에 dot (.)이 필요할 것입니다.
에서 .file 수입 연료 소모량
답변
먼저 파일을 .py 형식으로 저장하십시오 (예 🙂 my_example.py
. 그 파일에 기능이 있다면
def xyz():
--------
--------
def abc():
--------
--------
호출 함수에서 아래 줄만 입력하면됩니다.
file_name : my_example2.py
=============================
import my_example.py
a = my_example.xyz()
b = my_example.abc()
=============================