python文件问题,,文件操作方法1.编码


文件操作方法

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文件问题

评论关闭