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

yipeiwu_com5年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

python实现寻找最长回文子序列的方法

本文实例为大家分享了python实现寻找最长回文子序列,这一类的问题可以使用动态规划的方法去做,我之前应该有几篇博文都是关于回文序列的求解的,正好有可以复用的代码就懒得再用别的方法写了,...

python实现Windows电脑定时关机

定时关机,功能:windows下,用户按照一定格式输入关机时间,系统到指定时间自动关闭 思路:从用户输入获取指定时间 分别以时分秒减去当前时间 最终计算得到当前时间距离指定 时间还有多少...

Tensorflow实现神经网络拟合线性回归

Tensorflow实现神经网络拟合线性回归

本文实例为大家分享了Tensorflow实现神经网络拟合线性回归的具体代码,供大家参考,具体内容如下 一、利用简单的一层神经网络拟合一个函数 y = x^2 ,其中加入部分噪声作为偏置值...

python3图片转换二进制存入mysql

首先,在数据库中创建一个表,用于存放图片:复制代码 代码如下:CREATE TABLE Images(Id INT PRIMARY KEY AUTO_INCREMENT, Data ME...

Python中的多重装饰器

多重装饰器,即多个装饰器修饰同一个对象【实际上并非完全如此,且看下文详解】 1.装饰器无参数: 复制代码 代码如下: >>> def first(func): &nbs...