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文件问题的主要内容,如果未能解决你的问题,请参考以下文章

python修改文件名问题

原创python中文编码问题深入分析:python2.7文件读写中文编码问题

python 插入文本 详见问题补充

python 更新文本文件内容

python 获取文件夹路径问题

python 下载文件到文件夹下的问题