99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀Python中在腳本中引用其他文件函數(shù)的實現(xiàn)方法
Python中在腳本中引用其他文件函數(shù)的實現(xiàn)方法
2018-05-29
收藏

Python中在腳本中引用其他文件函數(shù)的實現(xiàn)方法

在導入文件的時候,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/app/folder')
 
import file

2. 在文件目錄下新建__init__.py文件然后調用文件 
from application.app.folder.file import func_name

init.py文件

a).init.py文件的作用

該文件的主要作用使初始化Python包。如果目錄下面包含了該文件,Python解釋器就會將該目錄當做一個包,下一步就可以使用import語句在別的.py腳本中引用該目錄下的文件。一個標準Python模塊的結構如下所示:  

b). __init__文件可以為空但可以用來建立對包的需求。一般來說會在該文件中寫那些類,函數(shù)等需要被導入到包水平,從而可以被方便的引用。比如:如果file.py文件中有一個File類,在init.py文件中啥都沒寫時引用File類需要這樣操作: 
from package.file import File

如果在__init__.py文件中將file導入包,那就在包水平可以直接引用File類:  
# in your __init__.py
from file import File
 
# in your script
from package import File

此外,還需要注意的一點是__init__.py文件中的all變量。

如果解釋器在__init__.py文件中觀察到了__all__變量,那么在運行from package import *時就只會引入__all__變量中列出的那些模塊。

例如:如果想在上述結構的只引入submodule1模塊,那么可以在subpackage/__init__.py文件中定義__all__ = ['submodule1'],當引用subpackage時from subpackage import *就只引入了submodule1模塊。

3. 將文件所在目錄添加到python的環(huán)境變量 

export PYTHONPATH=$HOME/pathToYourScripts/:#PYTHONPATH

以上就是小編為大家?guī)淼腜ython中在腳本中引用其他文件函數(shù)的實現(xiàn)方法全部內容了


數(shù)據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數(shù)據分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調,回調的第一個參數(shù)驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }