方法一
成都创新互联公司是专业的绿春网站建设公司,绿春接单;提供成都网站建设、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行绿春网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
将路径添加到sys.path里,from
sys
import
path
,
path.append,sys.path.insert等
方法二
保证每个文件夹(也就是需要的文件夹下)包含__init__.py
然后使用from
application.app.folder.file
import
func_name
等等,还又别的方法,自己研究吧
可以直接在Emacs中打开Shell然后运行Python,也可以安装ipython模式的插件,后者好一点,顺便增强了原来的python模式的功能。
有什么办法省略掉那些被调用函数的参数?
也就是func2只想在调用是传入一个c。
那么func2在定义的时候必须喂饱func1,也就是func2在调用 func1时,当前作用域中要有a,b。
明显图中是没有做到的,没有实际ab
b可以试试在这个文件中直接定义 ab两个变量,那么在第三个文件中引入 func2,就可以直接传c给func2了,因为ab已经在上一步被配置好。
python实现跨文件全局变量的方法
在使用Python编写的应用的过程中,有时候会遇到多个文件之间传递同一个全局变量的情况。本文就此给出了如下的解决方法供大家参考。
文件1:globalvar.py
#!/usr/bin/env python2.7
class GlobalVar:
db_handle = None
mq_client = None
def set_db_handle(db):
GlobalVar.db_handle = db
def get_db_handle():
return GlobalVar.db_handle
def set_mq_client(mq_cli):
GlobalVar.mq_client = mq_cli
def get_mq_client():
return GlobalVar.mq_client
文件2:set.py
import globalvar as GlobalVar
def set():
GlobalVar.set_mq_client(10)
print "------set mq_client in set.py------mq_client: " + str(GlobalVar.get_mq_client())
文件3:get.py
#!/usr/bin/env python2.7
import globalvar as GlobalVar
def get():
print "------get mq_client in get.py------mq_client: " + str(GlobalVar.get_mq_client())
文件4:main.py
#!/usr/bin/env python2.7
import set
import get
set.set()
get.get()
其中globalvar.py中定义了两个全局变量,在set.py中的set函数中对其进行赋值,在get.py文件中的get函数取值并打印。main.py函数作为应用入口,调用set和get。
这样就可以看到一个完整的应用中,全局变量的跨文件使用。
将另一个py做成一个包,或者直接和调用文件放在同一个目录下;
在调用者文件头引入:from py名字 import *;
这样就可以使用另一个py文件的函数了。
在同一个文件夹下
调用函数:
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