系统工具
来源:互联网 发布:直播平台系统源码 编辑:程序博客网 时间:2024/05/14 17:35
命令行参数
一个简单的自定义分页脚本:
# -*- coding: utf-8 -*-def more(text, numline=15): lines = text.splitlines() # 将字符串的每一行作为列表元素放入列表中 while lines: chunck = lines[:numline] lines = lines[numline:] for line in chunck: print(line+'\n') if lines and input('More?') not in ['Y', 'y']: # 等待用户输入是否翻页 breakif __name__ == '__main__': import sys more(open(sys.argv[1]).read(), 5) # 显示命令行中文件的页面内容
在打开文件时,我使用了系统工具sys.argv[1]来获取文件路径,也就是通过命令行参数来获取用户想要分页显示的文件,那么问题来了,我们应该怎么输入这个命令行参数呢?
首先我们应该了解sys.argv,argv是存放每个命令行参数的list,按照输入的顺序来进行储存,即第一个参数为argv[0],第二个为argv[1]…
以本题的命令行参数为例,该命令参数一共有2个,即python命令后的more.py和more.txt,argv[0]为more.py,argv[1]为more.txt,代码中我们使用的路径是argv[1],所以就是除脚本名本身的第一个参数,这样我们就能从大致明白命令行参数的输入和读取了。
值得注意的是,两个参数之间、参数和命令之间都要通过空格来分隔(若参数中本身就带有空格,则参数必须用一对双引号括起来),并不是通过“ -”来分隔参数,我就是因为使用UNIX的命令“ls -l”等用多了,导致认为命令行参数应该使用空格+“-”来分隔从而出错。
我第一次输入的是“python more.py -more.txt”,则变成了查找”-more“文件。如果是以“-”为前缀的参数,放在命令后面,则变成了选项,必须为单字符或者数字。
第一个命令中,系统把-more当作了文件名处理;第二个命令中,找不到名为ore的module,显然系统把-m当作了选项处理。
—— 一个简单的小错误,当作我写博客的开始吧,以后尽量把每个有价值的错误通过写博客的方式研究透并且记住。博客更新不定期,小错误多就更新快,大错误研究时间长肯定就会间隔时间长
阅读全文
2 0
- 系统工具
- 系统工具
- 系统工具
- 系统工具
- 系统工具
- 系统测试工具
- 系统测试工具
- Debian系统配制工具
- Debian系统配制工具
- 系统设计工具
- 甲壳虫系统工具 是什么
- 工具系统简介
- 系统性能分析工具
- Clonezilla 系统克隆工具
- 系统设计与工具
- Debian系统配制工具
- WIN7系统工具大全
- 常见系统监控工具
- runtime 的使用
- Ubuntu安装冲突软件导致窗口顶部窗体消失,Unity启动器消失,桌面顶部任务栏消失,快捷键失效解决方法
- SPOJ
- 导航栏制作
- 序列化的作用
- 系统工具
- 堆排序
- 中位数计数
- Oracle中的日期运算
- 用户管理及权力下放命令
- 最新版本微信和QQ红包自动领取安装包
- HDU
- 01-复杂度2 Maximum Subsequence Sum(25 分)
- git stash 恢复