• Python相关知识点


    读取zip文件

    1. import zipfile
    2. listAipInfo = zipfile.ZipFile('xxx.zip', 'r')
    3. print(listZipInfo.namelist()) # 以列表列出所有压缩文件
    4. 列出所有被压缩的文件,以及文件名、文件大小和压缩结果大小。
    5. for info in listZipInfo.infolist():
    6. print(info.filename, info.file_size, info.compress_size)
    压缩zip文件
    将解压缩结果存入指定目录
    1. fileUnzip = zipfile.ZipFile('out.zip')
    2. fileUnzip.extractall('out43')
    3. fileUnzip.close()

     剪切板应用

    1. import pyperclip
    2. pyperclip.copy("xxxxx")
    3. string = pyperclip.paste()
    4. print(string)

    找不到文件的错误FileNotFoundError

    1. fn = 'xxxx.txt'
    2. try:
    3. with open(fn) as file_obj:
    4. data = file_obj.read()
    5. except FileNotFoundError:
    6. print("找不到文件")
    7. else:
    8. print(data)

    使用tkinter处理谢尔宾斯基三角形

    1. from tkinter import *
    2. # 依据特定阶数绘制sierpinski三角形
    3. def sierpinski(order, p1, p2, p3):
    4. if order == 0: # 直接三个点相连绘制三角形
    5. drawLine(p1, p2)
    6. drawLine(p2, p3)
    7. drawLine(p3, p1)
    8. else:
    9. # 取各个三角形的中点
    10. p12 = midpoint(p1, p2)
    11. p23 = midpoint(p2, p3)
    12. p31 = midpoint(p3, p1)
    13. # 递归调用处理绘制三角形
    14. sierpinski(order-1, p1, p12, p31)
    15. sierpinski(order-1, p12, p2, p23)
    16. sierpinski(order-1, p31, p23, p3)
    17. # 绘制直线
    18. def drawLine(p1, p2):
    19. canvas.create_line(p1[0], p1[1], p2[0], p2[1])
    20. # 计算中间值
    21. def midpoint(p1, p2):
    22. p = [0, 0]
    23. p[0] = (p1[0] + p2[0]) / 2
    24. p[1] = (p1[1] + p2[1]) / 2
    25. return p
    26. def show():
    27. canvas.delete("myline")
    28. p1 = [200, 20]
    29. p2 = [20, 380]
    30. p3 = [380, 380]
    31. sierpinski(order.get(), p1, p2, p3)
    32. tk = Tk()
    33. canvas = Canvas(tk, width=400, height=400)
    34. canvas.pack()
    35. frame = Frame(tk)
    36. frame.pack(padx=5, pady=5)
    37. # 在框架内建立标签label,输入阶数Entry,按钮button
    38. Label(frame, text="输入阶数:").pack(side=LEFT)
    39. order = IntVar()
    40. order.set(0)
    41. entry = Entry(frame, textvariable=order).pack(side=LEFT, padx=3)
    42. Button(frame, text="显示Sierpinski三角形", command=show).pack(side=LEFT)
    43. tk.mainloop()

     

  • 相关阅读:
    SQLite数据库的增删改查基本操作
    OpenMMLab简介
    使用ThreeJS绘制一个饼图
    Spring - IoC 容器之 Bean 的生命周期
    vue——路由之路由跳转、路由传参、路由嵌套、路由模式
    selenium打开指定Chrome账号
    Java Field.getType()方法具有什么功能呢?
    【Qt绘制小猪】以建造者模式绘制小猪
    Leetcode力扣 MySQL数据库 1555 银行账户概要
    Paxos分布式系统共识算法?我愿称其为点歌算法…
  • 原文地址:https://blog.csdn.net/wj617906617/article/details/133418516