专栏首页python3Python全栈开发之文件操作

Python全栈开发之文件操作

No.1 文件的概念

文件的概念和作用

计算机中的文件,就是存储在某种长期储存设备上的一段数据流

计算机中的文件,可以在需要的时候使用

文件的存储方式

文本文件

可以使用文本编辑器查看

本质上还是二进制文件

二进制文件

保留的内容不能直接查看,而是提供给其他软件查看

图片、音频、视频等都是二进制文件

No.2 文件的基本操作

操作文件的基本套路

打开文件

读写文件

关闭文件

操作文件的函数

函数

说明

fp.read([size])

size为读取的长度,以byte为单位

fp.readline([size])

读一行,如果定义了size,有可能返回的只是一行的一部分

fp.readlines([size])

把文件每一行作为一个list的一个成员,并返回这个list

fp.write(str)

把str写到文件中,write()并不会在str后加上一个换行符

p.writelines(seq)

把seq的内容全部写到文件中(多行一次性写入)

fp.close()

关闭文件

fp.flush()

把缓冲区的内容写入硬盘

fp.fileno()

返回一个长整型的文件标签

fp.tell()

返回文件操作标记的当前位置,以文件的开头为原点

fp.next()

返回下一行,并将文件操作标记位移到下一行

fp.seek(offset[,whence])

将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数, whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算

read方法——读取文件

f = open('manage.py','r',encoding='utf-8')
print(f.tell())
text = f.read()
print(text)
f.close()

文件指针表示从哪个位置开始读取数据

第一次打开文件时,指针指向文件的开始位置

当执行了read方法后,指针指向文件的末尾,再次调用不会读取到任何内容

打开文件的方式

模式

说明

r

以只读方式打开文件,文件的指针将会放在文件的开头,这是默认模式,如果文件不存在,抛出异常

w

以只写方式打开文件,如果文件存在会被覆盖,如果文件不存在,创建新文件

a

以追加方式打开文件,如果该文件已存在,文件指针将会放在文件的结尾,如果文件不存在,创建新文件进行写入

r+

以读写方式打开文件,文件的指针将会放在文件的开头,如果文件不存在,抛出异常

w+

以读写方式打开文件,如果文件存在会被覆盖,如果文件不存在,创建新文件

a+

以读写方式打开文件,如果该文件已存在,文件指针将会放在文件的结尾,如果文件不存在,创建新文件进行写入

逐行读取

read方法默认会把文件的所有内容一次性读入到内存中

如果文件过大,对内存的占用非常恐怖

readline方法可以一次读取一行内容

方法执行后,会把文件的指针指向下一行

复制文件

小文件复制

打开一个文件,读取全部内存,并写入到另一个文件中

# 1. 打开文件
file_read = open("README")
file_write = open("README.bak", "w")

# 2. 读取并写入文件
text = file_read.read()
file_write.write(text)

# 3. 关闭文件
file_read.close()
file_write.close()

大文件复制

# 1. 打开文件
file_read = open("README")
file_write = open("README.bak", "w")

# 2. 读取并写入文件
while True:
    # 每次读取一行
    text = file_read.readline()

    # 判断是否读取到内容
    if not text:
        break

    file_write.write(text)

# 3. 关闭文件
file_read.close()
file_write.close()

No.3 文件/目录的常用管理操作

在终端/资源管理器、 中可以执行常规的文件/目录管理操作 ,如果希望通过代码来实现,需要导入os模块

文件操作

方法

说明

示例

rrename

重命名文件

os.rename(文件名)

remove

删除文件

os.remove(文件名)

目录操作

方法

说明

示例

listdir

目录列表

os.listdir(目录名)

mkdir

创建目录

os.mkdir(目录名)

rmdir

删除目录

os.rmdir(目录名)

getcwd

获取当前目录

os.getcwd()

chdir

修改工作目录

os.chdir(目标目录)

path.isdir

判断是否是文件

os.path.isdir(文件路径)

No.4 文本文件的编码转换

No.5 with上下文管理

with open("demo","r",encoding="utf-8") as f: #自动关闭并释放文件资源
    for line in f:
        print(line)

with open("demo","r",encoding="utf-8") as f,\
     open("demo.bak","w",encoding="utf-8") as f2:
    for line in f:
        print(line)
        f2.write(line)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python3 读写文件

    如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在:

    py3study
  • Python 之文件读写操作

            使用 open 打开文件后,格式:open(filename,mode),最后一定要调用文件对象的 close() 方法,如图所示:

    py3study
  • 收集3:所有文件格式

    A 对象代码库文件 AAM Authorware shocked文件 AAS Authorware shocked包 ABF Adobe二进制屏幕字体 ...

    py3study
  • (56) 文件概述 / 计算机程序的思维逻辑

    我们在日常电脑操作中,接触和处理最多的,除了上网,大概就是各种各样的文件了,从本节开始,我们就来探讨文件处理,本节主要介绍文件有关的一些基本概念和常识,Java...

    swiftma
  • Python基础(14)——文件

    使用with来管理上下文 with会打开文件将文件对象赋值给file_obj,然后在执行完子代码块的文件操作后自动调用file_obj.close()方法。

    羊羽shine
  • 任意文件移动导致的Windows提权攻击分析

    本文介绍了如何滥用Windows上特权进程执行文件操作来实现本地特权升级(用户到管理员/系统),同时介绍了利用这些类型的错误的现有技术以及漏洞利用工具。

    FB客服
  • 9.1 文件基础

    (1)程序文件,包括源程序文件(后缀.c)、目标文件(后缀.obj)、可执行文件(后 缀.exe)

    闫小林
  • python: IO操作

    JNingWei
  • python基础(4):Python读写文件实际操作的五大步骤

    from: http://developer.51cto.com/art/201003/187960.htm Python读写文件在计算机语言中被广泛的应用,如...

    用户1177713
  • [每天五分钟,备战架构师-5]操作系统之文件管理

    操作系统实现了对系统硬件资源和软件资源的管理,其中软件资源主要是各种系统程序、用户应用程序,还包括大量的文档材料,这些软件资源在操作系统中大多以文件的形式存储。...

    大江小浪

扫码关注云+社区

领取腾讯云代金券