python如何调用另一个py文件的所有函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何调用另一个py文件的所有函数相关的知识,希望对你有一定的参考价值。
#import all_functions as af
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需要在同级目录中
我就把2个脚本放在了桌面上啊 然后monkeyrunner执行了另一个来调用all_functions.py
追答我就把2个脚本放在了桌面上啊 然后monkeyrunner执行了另一个来调用all_functions.py
那还有一种方法是:
在你执行的那个脚本里把all_functions.py的路径添加到path中
path = 'X:/xxx/xxx/xxxx/'#all_functions.py的所在路径sys.path.append(path) 参考技术B
方案如下:
将另一个py做成一个包,或者直接和调用文件放在同一个目录下;
在调用者文件头引入:from py名字 import *;
这样就可以使用另一个py文件的所有函数了。
....不知道是不是你想要的本回答被提问者采纳
以上是关于python如何调用另一个py文件的所有函数的主要内容,如果未能解决你的问题,请参考以下文章
python调用另一个目录,另一个文件 中的函数报错,怎么解决