Python开发入门(二) | 详解文件IO操作 & 案例

1. Python文件IO说明

Python文件IO操作涉及文件读写操作,获取文件后缀名,修改后缀名,获取文件修改时间,压缩文件,加密文件等操作。

2. 打开和关闭文件

Python 提供了必要的函数和方法进行默认情况下的文件基本操作。

2.1 open 函数

说明:使用Python内置的open()函数打开一个文件,创建一个file对象

语法:

file object = open(file_name [, access_mode][, buffering])

参数说明::

file_name:要访问的文件名称的字符串值。
access_mode:决定了打开文件的模式:只读,写入,追加等。默认文件访问模式为只读(r)。
buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

3. 文件File对象属性

文件File对象有:

  • file.closed: 返回true如果文件已被关闭,否则返回false。
  • file.mode: 返回被打开文件的访问模式。
  • file.name: 返回文件的名称。
  • file.softspace: 如果用print输出后,必须跟一个空格符,则返回false。否则返回- true。

3.1 close()方法

File 对象的 close()方法会刷新缓冲区里任何还没写入的信息,并关闭该文件,关闭后不能在写入操作。
语法:

fileObject.close()

3.2 write()方法

write()方法可将任何字符串写入一个打开的对象文件。Python字符串可以是二进制数据,也可以是文字,write()方法不会在字符串的结尾添加换行符(’\n’):

3.3 read()方法

read()方法从一个打开的对象文件中读取一个字符串。

4. 文件定位

  • tell()方法可以知道文件内的当前位置,
  • seek(offset [,from])方法可以改变当前文件的位置。
    (Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。
    如果from被设为0,这意味着将文件的开头作为移动字节的参考位置。如果设为1,则使用当前的位置作为参考位置。如果它被设为2,那么该文件的末尾将作为参考位置)

5. 重命名和删除文件

这由python的os模块来实现相关操作,使用前需要先导入os模块,其具体有如下方法:

5.1 rename()方法:

rename()方法需要两个参数,当前的文件名和新文件名。
语法:

os.rename(old_file_name, new_file_name)

5.2 remove()方法

remove()方法删除文件,需要提供要删除的文件名作为参数。
语法:

os.remove(file_name)

6. 文件目录

文件目录操作,同样通过使用os模块实现创建,删除和更改目录等操作。

6.1 chdir()方法

chdir()方法来改变当前的目录。
语法:

os.chdir("newdir")

6.2getcwd()方法

getcwd()方法显示当前的工作目录。

语法:

os.getcwd()

6.3 rmdir()方法

rmdir()方法删除目录,目录名称以参数传递,在删除这个目录之前,它的所有内容应该先被清除。

语法:

os.rmdir('dirname')

7. 实战案例

7.1 创建文件夹

import os

'''
定义一个创建文件夹的方法
'''

def mkdir(path):
    isexists = os.path.exists(path)  #如果文件已经存在则用已存在的
    if not isexists:  #如果不存在则创建
        os.mkdir(path)

mkdir('test.txt')  #调用执行

运行结果:
在这里插入图片描述
到目录下查看已经创建了"test"文件夹
在这里插入图片描述

7.2 读取文件信息

读取该目录下的"file_test.txt"内的内容:
在这里插入图片描述

'''
定义一个读取文件信息的方法
'''

def openfile(filename):
    f = open('file_test.txt','r',encoding='UTF-8')  #打开文件
    flist = f.read()  # 读取文件信息
    f.close()         # 关闭文件
    print(flist)    # 打印读取的内容

openfile('file_test.txt')

运行结果:
在这里插入图片描述

7.3 写入文件信息

# demo1:清空内容后写入 w:写入
f = open("file_test1.txt","w",encoding="utf-8") 
print(f.write("文件信息写入!"))
f.close()     # 关闭文件

# demo2:在文件内容后追加写入  a:写入
f = open("file_test1.txt","w", "a", encoding="utf-8")
print(f.write("文件信息写入!"))
f.close

# # demo3:with关键字系统会自动关闭文件和处理异常
with open("file_test1.txt","w", "w") as f:
    f.write("hello world!")

demo1结果:
在这里插入图片描述

在这里插入图片描述
其他运行基本如此,自行运行查看…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值