《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='hfpython@headfirsttlabs.com',
	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》书中给定的链接下载 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狼性书生

谢谢鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值