程序运行到此处,暂时挂起,停止执行。有点像电影暂停我们可以详细在此时观察程序的运行情况,方 便做出进一步的判断。 就在行数旁边左键单击 就可以设置断点
右键点击后 找到debug
语法格式如下: open(文件名) 如果只是文件名,就会储存在当前的目录下(也就是python文件储存的那一目录),也可以录入路径保存。 文本文件对象和二进制文件对象的创建: 如果没有增加模式“b”,则默认创建的是文本文件对象,处理的基本单元是“字符”。 如果是二进制模式“b”,则创建的是二进制文件对象,处理的基本单元是“字节”。
f = open(r"d:\b.txt","w")文本文件的写入一般就是三个步骤:
创建文件对象写入数据关闭文件对象 f = open(r"a.txt","a") s = "itbaizhan\nsxt\n" f.write(s) f.close()常用的编码之间的关系 ASCII 最早美国人发明,只支持字母和符号等 ISO8859-1 等于说是升级版,兼容ASCII的同时还支持一些其他语言。 在同一时期有了unicode 但是由于当时的技术落后,对空间浪费太大 所以就没有多推广。不兼容iso8859,只认UTF-8 UTF是不定长编码,每一个字符都是1到4长度不等,兼容ISO8859. GB2312,GBK,GB18030是中国的编码方式,常用的还是GB2312和GBK 中文windows 默认是GBK linux默认是UTF-8,所以可能出现乱码。
write(a):把 字符串 a 写入到文件中 writelines(b):把字符串 列表写入文件中,不添加换行符
需要借助异常机制,来close 关闭文件。因为在电脑读代码的时候 在close之前可能就有程序崩溃,那么文件流就没有被关闭
try: f = open(r"01.text","a") s = "this is tring close file" f.write(s) except BaseException as e: print(e) finally: f.close()with 就会很方便的自动关闭文件流,比close好。等于是建立了一个还原点,使用文件后,自动回到一开始时。一般都是使用这个。
s = ["liuxi\n","mola\n","garcia\n"] with open(r"d:\bb.txt","w") as f: f.writelines(s)和文本一样只是后面有加b f = open(r"d:\a.txt", ‘wb’) #可写的、重写模式的二进制文件对象 f = open(r"d:\a.txt", ‘ab’) #可写的、追加模式的二进制文件对象 f = open(r"d:\a.txt", ‘rb’) #可读的二进制文件对象
with open('aa.gif', 'rb') as f: with open('aa_copy.gif', 'wb') as w: for line in f.readlines(): w.write(line) print('图片拷贝完成!')seek(offset,whence): offset 是指针的偏移量(为正往结束方向移动,为负往开始方向移动), whence不同的值代表不同的含义 0:从文件头开始计算(也是默认值)1:从当前位置开始计算 2:从文件尾开始计算 。 其中0:open函数以r,w,带b的二进制模式,就是以任何模式打开文件,都能正常运行。1和2:open函数只能以二进制模式打开文件,才能正常运行,否则就会报出上面的错误。 如果没有以二进制b的方式打开,则offset无法使用负值(即向左侧移动) tell:返回文件指针的当前位置
with open("e.txt","r",encoding="utf-8") as f: print("文件名是:{0}".format(f.name)) print(f.tell()) print("读取的内容:{0}".format(str(f.readline()))) print(f.tell()) f.seek(0,0) print("读取的内容:{0}".format(str(f.readline())))