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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-30
。。。。
把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)

本回答被网友采纳
第2个回答  推荐于2018-01-05

方案如下:

    将另一个py做成一个包,或者直接和调用文件放在同一个目录下;

    在调用者文件头引入:from py名字 import *;

    这样就可以使用另一个py文件的所有函数了。

本回答被网友采纳
第3个回答  2018-01-05
all_functions.py文件里有语法错误
第4个回答  推荐于2017-11-18
from Py文件名 import *
....不知道是不是你想要的本回答被提问者采纳
相似回答