《HeadFirst for python》筆記-------python IDLE 模板釋出
阿新 • • 發佈:2018-12-15
在IDLE中,為了共享(即import引用)新建立的模組,可以對其進行釋出
引用自《HeadFirst for python》一書
- 準備釋出階段:
- 為模板建立一個資料夾,之後將模板檔案複製到這個資料夾中
- 在這個資料夾中建立一個名為“setup.py”的檔案,以下程式碼為setup.py檔案的內容
from distutils.core import setup
setup(
name='nester', #模板檔名
version='1.0.0', #此模板版本,也就是第一版本
py_modules=['nester'], #模板的元資料與setup函式的引數關聯
author='hfpython',
#以下引數用的是《HeadFirst for python》裡的資料,可以與之不同
author_email=' [email protected]',
url='http://www.headfirstlabs.com',
description='A simple printer of nested lists',
)
注意點:在IDLE中建立.Py檔案和模板檔案時,儲存時通常會儲存這段程式碼:“Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32Type "copyright", "credits" or "license()" for more information.>>>”和“>>>”
- 構建釋出
- 構建一個釋出檔案:在模板資料夾中開啟終端,鍵入 (Windows10系統) 如果你使用的是Linux系統,則鍵入$ python3 setup.py sdist
- 仍然在此終端中執行,輸入以下命令(在Linux則為$ sudo python3 setup.py install)
- 就此釋出已經準備就緒,可以引用模板了(import 模板)
- 釋出成功後,模板所在的資料夾裡會自動新新增一些新檔案和資料夾
接下來,以《HeadFirst for Python》中的例項來演示在IDLE中匯入模板的過程:
注意點:匯入模板nester後 ,記得把python的工作目錄修改到指定資料檔案存在的資料夾中 (如,sketch.txt在chapter3中
)
以上程式碼簡要解析:
匯入nester模板,修改python直譯器的工作目錄,指向資料檔案(sketch.txt)所在的資料夾,建立兩個空列表,以用來存放分解後的文字資訊,即Man說的話,和Other Man說的話。隨後,採用with open() as filename:,建立兩個空文字檔案,用來存放經過‘格式調整’的文字資訊
格式調整程式碼:nester.py
import sys
#引數a_list接受一個列表,indent使兩個API變為可選,level控制縮排格數
def print_lol(a_list,indent=False,level=0,fh=sys.stdout): #引數涉及sys,記得匯入import sys
for each_item in a_list:
if isinstance(each_item,list):
print_lol(each_item,indent,level+1,fh)
else:
if indent:
for l in range(level):
print("\t",end='',file=fh)
print(each_item,file=fh)
相應的資料檔案,可根據《Headfirst for python》書中給定的連結下載