1. 程式人生 > >《HeadFirst for python》筆記-------python IDLE 模板釋出

《HeadFirst for python》筆記-------python IDLE 模板釋出

在IDLE中,為了共享(即import引用)新建立的模組,可以對其進行釋出

引用自《HeadFirst for python》一書

  • 準備釋出階段:
  1. 為模板建立一個資料夾,之後將模板檔案複製到這個資料夾中 
  2. 在這個資料夾中建立一個名為“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.>>>”和“>>>”

  記得將其去掉,否則會報錯。

  • 構建釋出
  1. 構建一個釋出檔案:在模板資料夾中開啟終端,鍵入 (Windows10系統)  如果你使用的是Linux系統,則鍵入$ python3 setup.py sdist
  2. 仍然在此終端中執行,輸入以下命令(在Linux則為$ sudo python3 setup.py install)
  3. 就此釋出已經準備就緒,可以引用模板了(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》書中給定的連結下載