Python入门(1)第六章

本文为笔记干货,版权来源Stream_,建议配合其他教程使用,增添了一些自己的思考和实验。
建议知识获取https://github.com/jackfrued/Python-100-Days/tree/master/Day01-15 本文为该来源的笔记


一、GUI

GUI开发模块是tkinter

使用tkinter来开发GUI应用需要的5个步骤

1.导入tkinter模块中我们需要的东西。
2.创建一个顶层窗口对象并用它来承载整个GUI应用。
3.在顶层窗口对象上添加GUI组件。
4.通过代码将这些GUI组件的功能组织起来。
5.进入主事件循环(main loop)。

二、文件读取写入和异常处理

https://github.com/jackfrued/Python-100-Days/blob/master/Day01-15/11.%E6%96%87%E4%BB%B6%E5%92%8C%E5%BC%82%E5%B8%B8.md

1.写入

以w(write)命令打开(如果不存在则创建)一个指定文件(D盘目录下的1.txt文件)并储存到内存里(变量为file)

file=open('D:/1.txt','w')

文件写入helloworld

file.write('hello,world')

最后要关闭文件

file.close()
2.读取

以r(read)命令打开(如果不存在会报错)一个指定文件(D盘目录下的1.txt文件)并储存到内存里(变量为file)
通过encoding参数指定编码(如果不指定,默认值是None,那么在读取文件时使用的是操作系统默认的编码)

file=open('D:/1.txt','r',encoding='utf-8')

输出helloworld

print(file.read())

同上,要关闭文件

file.close()
3.报错

读取文件可能的报错:
1)如果不能保证保存文件时使用的编码方式与encoding参数指定的编码方式是一致的,那么就可能因无法解码字符而导致读取失败。
2)如果open函数指定的文件并不存在或者无法打开,那么将引发异常状况导致程序崩溃。
先上例子

def main():
    f = None
    try:
        f = open('致橡树.txt', 'r', encoding='utf-8')
        print(f.read())
    except FileNotFoundError:
        print('无法打开指定的文件!')
    except LookupError:
        print('指定了未知的编码!')
    except UnicodeDecodeError:
        print('读取文件时解码错误!')
    finally:
        if f:
            f.close()

if __name__ == '__main__':
    main()
  • 具体语法:
    如果认为有一个语句会出错,则放在try里(10/0)
try:
    print('try...')
    r = 10 / 0
    print('result:', r)

如果遇到错误,则直接到错误码对应的except里执行,

except ZeroDivisionError as e:
    print('except:', e)

无论有没有错误,都执行finally

finally:
    print('finally...')
for-in循环逐行读取或者用readlines方法将文件按行读取到一个列表容器中(不用read)
  • with-as
file = open("D:/1.txt")
try:
    data = file.read()
finally:
    file.close()

等价于

with open("D:/1.txt") as file:
    data = file.read()

with所求值的对象必须有一个enter()方法,一个exit()方法。
将1.txt的文件open,存放进句柄file里,并close

  • 全部输出
with open('D:/1.txt', 'r', encoding='utf-8') as f:
    print(f.read())
  • for-in循环逐行读取
import time

with open('D:/1.txt', mode='r',encoding='utf-8') as f:
    for line in f:
        print(line, end='')
        time.sleep(0.5)
print()
  • 读取文件按行读取到列表中
with open('D:/1.txt',encoding='utf-8') as f:
    lines = f.readlines()
print(lines)

你可能感兴趣的:(Python入门(1)第六章)