补充一些有趣的知识
import sys,time for i in range(20): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.1)
2. 实现简单的shell sed替换功能
import sys res = sys.argv print(res)
#命令行参数,在Terminal输入命令:python update_flie.py ,res接收到的结果为list,第一个元素是程序本身
将a.txt文件中所有的e替换为x
Hello everyone Today is Saturday
代码: 执行命令: python update_file.py e x
import sys find_str = sys.argv[1] #找到需要替换的字母,argv的第二个元素 replace_str = sys.argv[2] #替换成新的字母,argv的第三个元素 with open("a.txt", "r", encoding='utf-8') as f, open("b.txt", "w", encoding='utf-8') as fe: for line in f: if find_str in line: line = line.replace(find_str, replace_str) fe.write(line)
替换后b.txt文件:
Hxllo xvxryonx Today is Saturday
3. 异常处理
最常用的一般是try,然后except Exception捕获到异常信息,进行打印
如果想本地打印报错到详细信息,可以使用 traceback.print_exc()
如果想写进日志文件,可以使用 msg = traceback.format_exc(), 接收返回的错误信息
import traceback l = [1,2,3,4] try: result = l[0] r = 1/0 print(r) except ZeroDivisionError as e: print('异常', e) except Exception as e: traceback.print_exc() #打印异常堆栈信息,红色打印 msg = traceback.format_exc() #返回了堆栈信息 print("处理异常", msg) else: print(result) finally: print("finally") #不管出错没出错最后都执行