python文件问题
Posted dachang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python文件问题相关的知识,希望对你有一定的参考价值。
文件操作方法
1.
编码方式:
在操作文件的时候,指定文件的编码方式(#encoding = ‘utf -8‘) 就相当于改变了读取文件编码的格式
文件中还有一个方法:
print(文件名.enconding) #就相当于输出文件的编码方式
2.
文件跳转光标
#当第一次读文件的时候,是在文件最头部的字符时候开始,当第一次读取的时候,当读取完毕的时候,再读取就是在文件光标就是在文件最后的字符。当再次读取什么东西都读取不到,所以是空的。
这里涉及到俩个文件操作的方法
#文件名.seek(指定字符位置):
将文件光标跳到指定的字符位置中去
#文件名.tell():
打印文件光标指定的字符位置 (一般俩个方法一起使用,这样会更直观的了解)
f = open(‘文件名’,’打开方式’,’其他参数’)
#打印当前的光标的位置
print(f.tell())
#移动光标
f.seek(指定位置)
print(f.tell())
3.
文件截断的方法
实例文件 runoob.txt
1:www.runoob.com
2:www.runoob.com
3:www.runoob.com
4:www.runoob.com
5:www.runoob.com
Python 文件 truncate() 方法用于截断文件并返回截断的字节长度。
指定长度的话,就从文件的开头开始截断指定长度,其余内容删除;不指定长度的话,就从文件开头开始截断到当前位置,其余内容删除。
Truncate()#可以给截断文件指定字符节点,如果不指定就默认从文件最开始截断
fo = open("runoob.txt", "r+", encoding="utf-8")
print ("文件名: ", fo.name)
#跳到第36个字节
fo.seek(36)
fo.truncate() # 从第36个字节以后的内容全部删除了
fo.seek(0)
line = fo.readlines()
print("读取行: %s" % (line))
fo.truncate(10) # 截取10个字节
fo.seek(0)
str = fo.read()
print("读取数据: %s" % (str))
# 关闭文件
fo.close()
运行后的结果
文件名: runoob.txt
读取行: [‘1:www.runoob.com\n‘, ‘2:www.runoob.com\n‘]
读取数据: 1:www.runo
以上是关于python文件问题的主要内容,如果未能解决你的问题,请参考以下文章