今天学习python年历模块,在命令行查看帮助文档不太方便,就重写了一次获取方法列表得方法帮助文档写入文件的代码。算是复习了。
运行效果
文本内容(部分)
完整代码
#/usr/bin/nve python
# coding: utf-8
import calendar as cal #加载年历模块并重命名为cal
import sys #加载sys模块,将调用sys.stdout重定向输出到文件
import os, time
l = os.system(r'clear') #清屏
#获取当前时间数据
t = time.localtime()
#格式化时间字条串
time_s = '%s年%s月%s %s:%s:%s'%(t[0], t[1], t[2], t[3], t[4], t[5])
#居中打印时间
print('\n%s'%time_s.center(32, '='))
#写入年历方法列表
with open('calendar.txt', 'w') as f:
f.write('\n')
f.write('年历方法列表'.rjust(18))
f.write('\n'*2)
k = 1
for i in dir(cal):
f.write('%2.d. %s\n'%(k, i))
k += 1
#分别写入年历方法帮助文档(追加写入)
with open('calendar.txt', 'a') as f:
f.write('\n'*3)
f.write('Calendar帮助文档'.rjust(22))
f.write('\n'*2)
flag = sys.stdout #用flag记录当前输出状态
sys.stdout = f #重定向输出到文件calendar.txt
k = 1
for i in dir(cal):
f.write('№%2.d. 【%s】\n\n%s'%(k, i, help(eval('%s'%i)))) #help()的参数不能是字符串,要用eval()转换(昨天发文不察,今天订正。2021-11-23 11:43am)为python的语句代码,以前是用的def(*)列表传参,没有这样的问题。
k += 1
f.write('\n'*2)
f.write('The end'.center(34, '~'))
sys.stdout = flag
print('\n'*3, '%s\n'%'文件详情'.center(30, '~'))
os.system(r'ls calendar.txt -l') #显示创建的文件详情
print('\n\n%s\n'%'帮助文档写入文件完成。'.rjust(18))
print('The end'.center(34, '~'))
上一篇: 练习:猜数字
下一篇: CSDN2021-11-23“每日一练”
相关博文: help()获取的内容写入*.txt
![老齐漫画头像](https://i-blog.csdnimg.cn/blog_migrate/8cbf2c45d8b57205b31ef4963b3b9854.jpeg)
精品文章:
来源:老齐教室