簡體   English   中英

正確格式化和重新使用代碼塊

[英]Correct formating and re-use of code blocks

因此,我需要構建一個腳本,該腳本可以訪問API以從防火牆提取報告,以下是我所做的哈希工作,對於那些精通python的人來說請客氣,我意識到我可能違反了所有規則有。

那么問題就來了:(腳本可以在這里找到-https: //github.com/Marct27/PAN_reporter

  • 我對一些函數的了解有限,我注意到我正在重新使用可以傳遞參數的腳本的某些部分。

     #Parse xml and get root key value tree = ET.parse(resp) root = tree.getroot() #From return xml find job id of report j=root.find('status') jID=j.find('job') 

我假設函數看起來像這樣:

        def parseXML(arg1, arg2):
            #Parse xml and get root key value
            tree = ET.parse(resp)
            root = tree.getroot()
            #From return xml find job id of report
            j=root.find(arg1)
            jID=j.find(arg2)
            print 'Job ID :', jID.text
            return jID

但是,當我嘗試使用以下函數調用該函數時:

parseXML('status','job')

我最終遇到以下錯誤:

NameErrorTraceback (most recent call last)
    <ipython-input-4-03280b8af912> in <module>()
         62                 time.sleep(5)
         63             #From xml get job status
    ---> 64                 apiPullReport = '/api/?
    type=report&action=get&job-id=%s&key=%s' % (jID.text, apiKey)
         65                 req = urllib2.Request(host+apiPullReport, head)
         66                 resp = urllib2.urlopen(req, context = ctx)

    NameError: name 'jID' is not defined

我是否需要聲明一個全局變量,該函數將更新該日期,或者是否存在另一種定義該變量的方法?

  • 我應該考慮使用此類的類(不確定是否是正確的術語)嗎? 或建議的正確格式是什么,使其更加“ python正確”

根據Coldspeed的評論指出,必須定義函數要返回的變量才能使用它。

jID = parseXML('status','job')首先,然后可以在其功能之外使用它。 –cᴏʟᴅsᴘᴇᴇᴅ53分鍾前

如果有人要檢查,請更新guthub文件。

再次感謝您的幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM