Python文件类型及文件对象方法,.exe可执行文件,.txt文本文件,.ppt幻灯片格式,.jpg图片格式,.mp4音频格式,.avi视频格式,.read(),.seek(),.write()

1.常用文件类型:

.exe可执行文件,
.txt文本文件,
.ppt幻灯片PowerPoint格式,
.jpg图片格式,
.mp4音频格式,
.avi视频格式。

2.使用open()函数打开文件并返回文件对象

    ========= ===============================================================
    Character Meaning
    --------- ---------------------------------------------------------------
    'r'       open for reading (default)
    'w'       open for writing, truncating the file first
    'x'       create a new file and open it for writing
    'a'       open for writing, appending to the end of the file if it exists
    'b'       binary mode
    't'       text mode (default)
    '+'       open a disk file for updating (reading and writing)
    'U'       universal newline mode (deprecated)
    ========= ===============================================================

‘r’:以只读方式打开文件(默认)
‘w’:以写入的方式打开文件,会覆盖已存在的文件
‘x’:如果文件已经存在,使用此模式打开将引发异常
‘a’:以写入模式打开,如果文件存在,则在末尾追加写入
‘b’:以二进制模式打开文件
‘t’:以文本模式打开(默认)
‘+’:可读写模式(可添加到其他模式中使用)
‘U’:通用换行符支持

3.文件对象方法

.close() 关闭文件。

.read(size=-1) 从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回。
注:在使用读文件过程中,可能会遇到以下问题:

>>> f = open('E:\\record.txt')
>>> f.read(5)
Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    f.read(5)
UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 8: illegal multibyte sequence

解决方法如下:

>>> f = open('E:\\record.txt',encoding = 'utf-8')
>>> f.read()
'Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。\n自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。\nPython的创始人为荷兰人吉多·范罗苏姆 。自从2004年以后,python的使用率呈线性增长。Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。 [4]  2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。'

.readline() 以写入模式打开,如果文件存在,则在末尾追加写入。
.write(str) 将字符串str写入文件。
.writelines(seq) 向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象。

.seek(offset,from) 在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节。
一个中文字符等于两个字节。
例如:指针现在从第40个字节的位置开始查找后面的内容。

>>> f = open('E:\\record.txt',encoding = 'utf-8')
>>> f.seek(40,0)
40

.tell() 返回当前在文件中的位置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值