python如何调用另一个py文件的所有函数
import C:\\Users\\93624\\Desktop\\all_functions.py as af
我用了两种办法,文件就放在桌面上,执行都会提示"mismatched input ':' expecting NEWLINE" 展开
在同一个文件夹下
调用函数:
A.py文件:
B.py文件:
或
调用类:
A.py文件:
B.py文件:
或
在不同文件夹下
A.py文件的文件路径:E:\PythonProject\winycg
B.py文件:
针对这个问题,网上有很多的解决方式。其实最主要的原因是因为Python无法正确找到你其他文件夹下文件的路径。针对不同的环境和问题有不同的方法,大家可自行测试。
方法一
环境,Python为3.5,pycharm工作区间。主文件(main_preprocess.py)需要运用split_by_date.py中的函数,main_preprocess与split_by_date在同一个大文件夹下,其中split_by_date在preprocess文件夹下
2.文件夹目录视图:
3.以下问题针对的问题如下:
在此处有一个文件 application/app/folder/file.py
想在 application/app2/some_folder/some_file.py 中应用file.py
方法二
方法三
但是这个方法必须保证folder文件夹(也就是需要的文件夹下)包含__init__.py,若是没有,可以新建一个
方法四
此法适用于 python3 on linux
方法五
当文件在平行路径下时,如
application/app2/some_folder/some_file.py
application/app2/another_folder/another_file.py
把all_functions放到你需要调用的py文件的同级目录
用from all_functions import *
这样,all_functions中有方法test()
那么你可以直接调用test()
ImportError: No module named all_functions
我放在一个目录下面会提示这个
这是不科学的。。。。
你确定是一个目录下?
比如你在test.py中
from all_functions import *
test()
all_functions.py 和 test.py需要在同级目录中
方案如下:
将另一个py做成一个包,或者直接和调用文件放在同一个目录下;
在调用者文件头引入:from py名字 import *;
这样就可以使用另一个py文件的所有函数了。
....不知道是不是你想要的