广州番禺营销型网站,做网站责任,在谷歌上做国际网站,网站描述作用当我们需要对现有文件进行读取数据并修改文件中的数据时#xff0c;就需要用到对已有文件进行既读又写的操作。有多种可读且可写的文件打开方式#xff1a;r,w,a,rb,wb,ab#xff0c;具体含义见下表。 打开 方式 读写 特性 文件数据 特性 对文件存在性的处理方式 备注 …当我们需要对现有文件进行读取数据并修改文件中的数据时就需要用到对已有文件进行既读又写的操作。有多种可读且可写的文件打开方式r,w,a,rb,wb,ab具体含义见下表。 打开 方式 读写 特性 文件数据 特性 对文件存在性的处理方式 备注 文件已存在 文件不存在 r 只读 文本文件 必须已存在 打开失败 w 只写 文本文件 覆盖原文件 创建新文件 a 只写 文本文件 不覆盖原文件 创建新文件 在文件末尾追加写数据。 rb 只读 二进制文件 必须已存在 打开失败 wb 只写 二进制文件 覆盖原文件 创建新文件 ab 只写 二进制文件 不覆盖原文件 创建新文件 在文件末尾追加写数据。 r 读写 文本文件 必须已存在 打开失败 w 读写 文本文件 覆盖原文件 创建新文件 a 读写 文本文件 不覆盖原文件 创建新文件 在文件末尾追加写数据。 rb 读写 二进制文件 必须已存在 打开失败 wb 读写 二进制文件 覆盖原文件 创建新文件 ab 读写 二进制文件 不覆盖原文件 创建新文件 在文件末尾追加写数据。
上表中的读写方式助记r--read,读, w--write,写, a--append或attach,追加, b--binary,二进制 在此强调的是在对打开的同一个文件进行即读又写操作时关于文件读写位置需要注意的事项。
下面以用r方式打开的读写已经存在的文本文件为例。需要注意一点的是读操作和写操作是共用一个文件位置指示的。也就是说文件操作没有分别指示读位置和写位置指示的只有一个文件位置指示。因此如果读操作和写操作交替进行那么上次的读操作结束时所在的读写位置默认就是下次写操作时的文件读写位置的开始相应地上次的写操作结束的位置默认就是下次读操作开始的位置。如果这种默认文件读写位置不能满足你的实际需要的话必须用所操作文件对象的see(offset,whence)方法将文件读写位置按自己的需要进行定位此函数参数offset为偏移量可正负参数whence表示offset相对的基准位置取值0,1-1分别表示文件开头当前位置和文件末尾。
实例将数独游戏数据文件中一行的81个数字修改成9行每行9个数字。
程序如下
fObj open(fileName, r)
lines fObj.readlines()
fObj.seek(0,0)
for aLine in lines: fObj.write(aLine) fObj.write(\n)
fObj.close()