Python实现调用另一个路径下py文件中的函数方法总结

本文实例讲述了Python实现调用另一个路径下py文件中的函数方法。分享给大家供大家参考,具体如下:

针对这个问题,网上有很多的解决方式。其实最主要的原因是因为Python无法正确找到你其他文件夹下文件的路径。针对不同的环境和问题有不同的方法,大家可自行测试。

1. 方法一

首先,我先把解决我本人问题的方法记录如下。环境,Python为3.5,pycharm工作区间。主文件(main_preprocess.py)需要运用split_by_date.py中的函数,main_preprocess与split_by_date在同一个大文件夹下,其中split_by_date在preprocess文件夹下

#引入代码
import sys
from sys import path
path.append(0, sys.path[0]+'\\preprocess') #这里preprocess是split_by_date.py所在文件夹
from .preprocess.split_by_date import splitByDate

文件夹目录视图:

下面的方法对我的问题都无效,可能能解决你们的问题。

以下问题针对的问题如下:

在此处有一个文件   application/app/folder/file.py

想在 application/app2/some_folder/some_file.py  中应用file.py

2.方法二

import sys
sys.path.insert(0, '/path/to/application/app/folder')
import file

3.方法三

from application.app.folder.file import func_name

但是这个方法必须保证folder文件夹(也就是需要的文件夹下)包含__init__.py,若是没有,可以新建一个

4.方法四

此法适用于 python3 on linux

import sys
sys.path.append(pathToFolderContainingScripts)
from scriptName import functionName #scriptName without .py extension

5.方法五

当文件在平行路径下时,如

application/app2/some_folder/some_file.py
application/app2/another_folder/another_file.py

import sys
sys.path.append('../')

如果还有其他方法,欢迎补充

参考:

http://stackoverflow.com/questions/4383571/importing-files-from-different-folder-in-python

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

(0)

相关推荐

  • Python中在脚本中引用其他文件函数的实现方法

    在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址.所以如果要在当前脚本引用其他文件,除了将文件放在和脚本同一目录下,还有以下几种方法, 1. 将文件所在位置添加到sys.path中 import sys sys.path.insert(0, '/path/to/application/app/folder') # or sys.path.append('/path/to/application/a

  • python 在某.py文件中调用其他.py内的函数的方法

    假设名为A.py的文件需要调用B.py文件内的C(x,y)函数 假如在同一目录下,则只需 import B if __name__ == "__main__": B.C(x,y) 若只需调用单个函数,也可以 from B import C if __name__ == "__main__": C(x,y) 若A.py和B.py位于不同的目录下,可以用以下方法 (假设B.py位于D盘的根目录下) 1.引用所在路径 import sys sys.path.append(

  • 对python中不同模块(函数、类、变量)的调用详解

    首先,先介绍两种引入模块的方法. 法一:将整个文件引入 import 文件名 文件名.函数名( ) / 文件名.类名 通过这个方法可以运行另外一个文件里的函数 法二:只引入某个文件中一个类/函数/变量 需要从某个文件中引入多个函数或变量时,用逗号隔开即可 from 文件名 import 函数名,类名,变量名 接下来,通过一个具体的例子说明引入 模块的具体方法: 假设新建一个python包test2,里边有一个名为run.py的python文件,run.py文件里有一个名为running()的函数

  • python调用其他文件函数或类的示例

    B.py调用A.py的函数或类 在同一个文件夹下 调用函数: A.py文件: def add(x,y): print('和为:%d'%(x+y)) B.py文件: import A A.add(1,2) 或 from A import add add(1,2) 调用类: A.py文件: class A: def __init__(self,xx,yy): self.x=xx self.y=yy def add(self): print("x和y的和为:%d"%(self.x+self.

  • Python实现调用另一个路径下py文件中的函数方法总结

    本文实例讲述了Python实现调用另一个路径下py文件中的函数方法.分享给大家供大家参考,具体如下: 针对这个问题,网上有很多的解决方式.其实最主要的原因是因为Python无法正确找到你其他文件夹下文件的路径.针对不同的环境和问题有不同的方法,大家可自行测试. 1. 方法一 首先,我先把解决我本人问题的方法记录如下.环境,Python为3.5,pycharm工作区间.主文件(main_preprocess.py)需要运用split_by_date.py中的函数,main_preprocess与s

  • python实现递归查找某个路径下所有文件中的中文字符

    本文实例为大家分享了python实现递归查找某个路径下所有文件中的中文字符,供大家参考,具体内容如下 # -*- coding: utf-8 -*- # @ description: # @ author: # @ created: 2018/7/21 import re import sys import os reload(sys) sys.setdefaultencoding("utf8") def translate(str): out = set() line = str.s

  • 对python当中不在本路径的py文件的引用详解

    众所周知,如果py文件不在当前路径,那么就不能import,因此,本文介绍如下两种有效的方法: 方法1: 修改环境变量,在~/.bashrc里面进行修改,然后source ~/.bashrc 方法2: 引入.pth文件 在site-packages添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了. 1 windows c:\python27\site-packages # 我们的学员把pth文件直接放在c:\python27 # (或

  • python 获得任意路径下的文件及其根目录的方法

    似乎有一段时间没有更新博客了,这里就写点小功能,轻松获得电脑任意路径下的文件及文件夹,并将其写入word,以下是主要代码: **import os** **from os import walk** # 获取文件夹的中的文件夹和文件夹里文件 def do_file(save_filepath,o_filepath): #定义函数 传入写入文档保存的位置和要操作的任意电脑路劲 file=open(save_filepath,"w+") # 遍历文件路径 for parent,dirnam

  • C++一个函数如何调用其他.cpp文件中的函数

    目录 一个函数调用其他.cpp文件中的函数 看示例 在主文件cpp中调用其他文件函数的方法 直接用 extern方法 总结 一个函数调用其他.cpp文件中的函数 使用VC或VS创建C++项目的时候,会自动产生许多文件夹,其中有一个文件夹->源文件: 在该文件下可以自定义许多.cpp文件,但是需要注意的是这里面的各个文件只能有一个文件中含有main()函数, 而且各个文件中不能使用相同的函数名进行定义: 那么要那么多文件放在项目中有什么用呢? 当然这里C++是提供一个文件调用其他文件中函数的功能的

  • Python如何调用JS文件中的函数

    Python 调用JS文件中的函数方法如下 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r"web.js").read().decode("utf-8")).call('loginHandle','steam') 语句解析,open后跟所执行的js文件位置,call后第一个单引号引起来的为所执行的js文件的某个function, 第二个单引号是前面函数的

  • php删除一个路径下的所有文件夹和文件的方法

    php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用. 也适合在thinkphp中清理缓存,在thinkphp中可以把下面代码写入./Application/Admin/Common/function.php文件中,再在控制器调用这个函数进行清理操作. 用到的函数: scandir($path)    遍历一个文件夹所有文件并返回数组.     unlink($filename)    删除文件.     r

  • python如何在一个py文件中获取另一个py文件中的值(一个或多个)

    目录 如何在一个py文件中获取另一个py文件中的值(一个或多个) 在一个py文件中调用另一个py文件中的变量 一.目的 二.解决方案 三.实例演示 如何在一个py文件中获取另一个py文件中的值(一个或多个) 创建两个py文件分别为z1.py 和 z2.py,运行z1.py时,将z1中的值传递给z2(z2获取z1中的值) z1.py import os   key = '123' if __name__ == '__main__':     os.system("python z2.py {}&q

  • python读取一个目录下所有txt里面的内容方法

    实例如下所示: import os allFileNum = 0 def printPath(level, path): global allFileNum ''''' 打印一个目录下的所有文件夹和文件 ''' # 所有文件夹,第一个字段是次目录的级别 dirList = [] # 所有文件 fileList = [] # 返回一个列表,其中包含在目录条目的名称 files = os.listdir(path) # 先添加目录级别 dirList.append(str(level)) for f

随机推荐