方法一
成都創(chuàng)新互聯(lián)公司是專業(yè)的綠春網(wǎng)站建設(shè)公司,綠春接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行綠春網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
將路徑添加到sys.path里,from
sys
import
path
,
path.append,sys.path.insert等
方法二
保證每個(gè)文件夾(也就是需要的文件夾下)包含__init__.py
然后使用from
application.app.folder.file
import
func_name
等等,還又別的方法,自己研究吧
可以直接在Emacs中打開Shell然后運(yùn)行Python,也可以安裝ipython模式的插件,后者好一點(diǎn),順便增強(qiáng)了原來的python模式的功能。
有什么辦法省略掉那些被調(diào)用函數(shù)的參數(shù)?
也就是func2只想在調(diào)用是傳入一個(gè)c。
那么func2在定義的時(shí)候必須喂飽func1,也就是func2在調(diào)用 func1時(shí),當(dāng)前作用域中要有a,b。
明顯圖中是沒有做到的,沒有實(shí)際ab
b可以試試在這個(gè)文件中直接定義 ab兩個(gè)變量,那么在第三個(gè)文件中引入 func2,就可以直接傳c給func2了,因?yàn)閍b已經(jīng)在上一步被配置好。
python實(shí)現(xiàn)跨文件全局變量的方法
在使用Python編寫的應(yīng)用的過程中,有時(shí)候會遇到多個(gè)文件之間傳遞同一個(gè)全局變量的情況。本文就此給出了如下的解決方法供大家參考。
文件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()
其中g(shù)lobalvar.py中定義了兩個(gè)全局變量,在set.py中的set函數(shù)中對其進(jìn)行賦值,在get.py文件中的get函數(shù)取值并打印。main.py函數(shù)作為應(yīng)用入口,調(diào)用set和get。
這樣就可以看到一個(gè)完整的應(yīng)用中,全局變量的跨文件使用。
將另一個(gè)py做成一個(gè)包,或者直接和調(diào)用文件放在同一個(gè)目錄下;
在調(diào)用者文件頭引入:from py名字 import *;
這樣就可以使用另一個(gè)py文件的函數(shù)了。
在同一個(gè)文件夾下
調(diào)用函數(shù):
A.py文件:
B.py文件:
或
調(diào)用類:
A.py文件:
B.py文件:
或
在不同文件夾下
A.py文件的文件路徑:E:\PythonProject\winycg
B.py文件:
針對這個(gè)問題,網(wǎng)上有很多的解決方式。其實(shí)最主要的原因是因?yàn)镻ython無法正確找到你其他文件夾下文件的路徑。針對不同的環(huán)境和問題有不同的方法,大家可自行測試。
方法一
環(huán)境,Python為3.5,pycharm工作區(qū)間。主文件(main_preprocess.py)需要運(yùn)用split_by_date.py中的函數(shù),main_preprocess與split_by_date在同一個(gè)大文件夾下,其中split_by_date在preprocess文件夾下
2.文件夾目錄視圖:
3.以下問題針對的問題如下:
在此處有一個(gè)文件???application/app/folder/file.py
想在?application/app2/some_folder/some_file.py? 中應(yīng)用file.py
方法二
方法三
但是這個(gè)方法必須保證folder文件夾(也就是需要的文件夾下)包含__init__.py,若是沒有,可以新建一個(gè)
方法四
此法適用于 python3 on linux
方法五
當(dāng)文件在平行路徑下時(shí),如
application/app2/some_folder/some_file.py
application/app2/another_folder/another_file.py
分享文章:python跨文件函數(shù),python跨文件調(diào)用變量
轉(zhuǎn)載注明:http://jinyejixie.com/article30/hsisso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站改版、動態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)