Python程序设计基础 课件 项目7、8 文件和目录操作、模块.pptx

Python程序设计基础 课件 项目7、8 文件和目录操作、模块.pptx

项目7 文件和目录操作 ;任务1 文件的使用;;文件概述;文件的打开与关闭;访问模式;;2.关闭文件 命令格式: 文件对象.close() 关闭文件对象。当处理完一个文件后,调用close()方法关闭文件并释放系统的资源。文件关闭后,如果尝试再次调用该文件对象,则会抛出异常。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了,或者更糟糕的结果。;文件的读写;②f.readline() f. readline ()表示从文件中读取一行n内容。换行符为\n。如果返回一个空字符串,说明已经已经读取到最后一行。这种方法,通常是读一行,处理一行的情况下使用。 f = open(1.txt, r) str = f.readline() print(str) f.close() ③f.readlines() f.readlines()表示将文件中所有的行,一行一行全部读入一个列表内,按顺序一个一个作为列表的元素,并返回这个列表。readlines方法会一次性将文件全部读入内存,所以也存在一定的弊端。但是它有个好处,每行都保存在列表里,可随意存取。 f = open(1.txt, r) a = f.readlines() print(a) f.close();④遍历文件 实际情况中,我们会将文件对象作为一个迭代器来使用。 # 打开一个文件 f = open(1.txt, r) for line in f: print(line, end=) # 关闭打开的文件 f.close() 这个方法很简单, 不需要将文件一次性读出,但是同样没有提供一个很好的控制,与readline方法一样只能前进,不能回退。;几种不同的读取和遍历文件的方法比较: (1)如果文件很小,read()一次性读取最方便; (2)如果不能确定文件大小,反复调用read(size)比较保险; (3)如果是配置文件,调用readlines()最方便。普通情况,使用 for循环更好,速度更快。;2. 写 ①f.write () 使用write()可以完成向文件写入数据。 # 打开一个文件 f = open(foo.txt, w) f.write(Python 是一种非常好的语言。\n我喜欢Python!!\n) # 关闭打开的文件 f.close() ② writelines() writelines() 方法用于向文件中写入一序列的字符串。这一序列字符串可以是由迭代对象产生的,如一个字符串列表。换行需要制定换行符 \n。writelines() 方法语法如下: fileObject.writelines( [ str ]) 参数:str -- 要写入文件的字符串序列。 返回??:该方法没有返回值。;打开当前路径下的test.txt文件并写入两行内容:(1)好好学习;(2)天天向上。代码如下所示: # 打开文件 fo = open(test.txt, w) print (文件名为: , ) seq = [好好学习\n, 天天向上] fo.writelines( seq ) # 关闭文件 fo.close() 上述代码的执行结果为: 文件名为: test.txt 可以发现文件text.txt中已写入如下内容: 好好学习 天天向上 ;;csv格式化数据的读写方法;CSV模块中的reader类和 writer 类可用于读写序列化的数据。也可使用 DictReader 类和 DictWriter类以字典的形式读写数据,特点如下:;1. CSV文件的写操作;with open(mate.csv,w,encoding=utf-8_sig,newline=) as fp: # newline= 参数可以避免csv文件出现两倍的行距,避免表格的行与行之间出现空白行。 # encoding=utf-8_sig 可以避免编码问题导致的报错或乱码 writer=csv.writer(fp) writer.writerow(headers) writer.writerows(value) fp.close() ;②使用 DictWriter()创建对象 使用DictWriter()创建对象,语法格式为:csv.DictWriter(f, fieldnames),其中参数f 是 open() 函数打开的文件对象,参数 fieldnames 用来设置文件的表头。如ex0704.py 所示: import csv headers = [name,age,class] value = [ {name:张三,age:18,class: 0501},

文档评论(0)

1亿VIP精品文档

相关文档