数一数非空行
一段文本模拟标准输入。统计「去掉首尾空白后不为空」的行数,以及这些行去掉首尾空白后最长的长度,输出 行数/最长长度。
从标准输入读数统计
场景:判题机总是替你准备好输入。到了真机上,程序要自己从标准输入一直读到结束——数据可能来自键盘,也可能来自重定向的文件。 任务:新建 ~/work/stat.py:从标准输入逐行读整数直到输入结束,空行和 # 开头的行跳过,输出一行 和/
让脚本像命令一样运行
场景:同事写了个问候脚本,每次都得敲 python3 greet.py。大家希望它像系统命令一样,直接敲名字就能跑。 任务:把 ~/work/greet.py 变成可以直接执行的 ~/work/greet(文件名没有 .py),例如 ~/w
相对路径从哪儿找
相对路径从「你站的地方」找,不从脚本旁边找 当前目录你 脚本目录脚本数据 站的地方一换,相对路径就指向别处 程序里写 open("data.txt"),Python 3 会在【0】里找这个文件。
找到脚本自己的家
要得到脚本自己所在的目录,应该从【0】出发去算。
同一个相对路径指向哪
脚本在 /home/me/work/report/report.py,人在 /tmp 里运行它,程序里写的是相对路径 prices.txt。算出两个完整路径:按当前目录解析的 a、按脚本所在目录解析的 b,输出 a|b。
换个目录就找不到文件
场景:一个小报表脚本在自己的目录里运行一切正常,但放进定时任务、或者从别的目录调用时,总是报 FileNotFoundError。 任务:改 ~/work/report/report.py,让它从任何目录运行都能读到它旁边的 prices.
输出目录建不出来
场景:一个按类别拆分订单的脚本,第一次运行成功;可是目录一深就建不出来,再跑一次还报「已存在」,就算绕过去文件里也会重复。 任务:改 ~/work/split.py:多层输出目录自动建好、重跑不报错、重跑后文件内容和跑一次完全一样。chec
第一个命令行参数
运行 python3 calc.py add 3 5 时,sys.argv[1] 是【0】。
用法错了退几
命令行工具发现「用法不对」时,按惯例退出码是【0】。