《Python入门到精通》文件操作

本文阅读 4 分钟
首页 安全分享,WEB安全 正文

<font color="orange">「作者主页」:</font>士别三日wyx
  此文章已录入专栏<font color="greeg">《Python入门到精通》</font>
  2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习

open()函数用来打开文件

语法

open( name, mode )

参数

  • name:文件路径
  • mode:可选,模式
  • 返回值:文件对象

在E盘创建文件 a.txt,使用open()函数打开该文件

file = open('E://a.txt')
print(file)

输出:

<_io.TextIOWrapper name='E://a.txt' mode='r' encoding='cp936'>

1.1 文件路径

文件路径分为两种:

  1. 相对路径
  2. 绝对路径

1.1.1 相对路径

相对路径是指「相对于当前文件」的路径 打开当前目录下的 a.txt 文件

file = open('a.txt')
print(file)

输出:

<_io.TextIOWrapper name='a.txt' mode='r' encoding='cp936'>

1.1.2 绝对路径

绝对路径是指文章在「电脑」中的位置

打开 E 盘 Python 目录下的 a.txt 文件

file = open('E://python/a.txt')
print(file)

输出:

<_io.TextIOWrapper name='E://python/a.txt' mode='r' encoding='cp936'>

1.2 模式

修改参数 mode的值,可以指定文件的「打开方式」

  • r:默认,读取,打开文件并读取,文件不存在则报错
  • a:修改,打开文件准备修改,文件不存在则创建
  • w:写入,打开文件准备写入,文件不存在则创建
  • x:创建文件,文件存在则报错

「打开模式」

  • t:默认,文本模式
  • b:二进制模式(图像)
file = open('a.txt', 'rt')
print(file)

输出:

<_io.TextIOWrapper name='a.txt' mode='rt' encoding='cp936'>

在当前目录创建文件 b.txt

open('b.txt', 'x')

检查左侧目录,会多出一个文件 b.txt

read()函数用来读取文件内容

语法

read( n )

参数

  • n:可选,读取几个字符
  • 返回值:读取的内容

3.1 读取所有文件

读取文件 a.txt 的全部内容

file = open('a.txt', encoding='utf-8')
text = file.read()
print(text)

输出:

第一行
第二行
第三行
第四行
……

3.2 读取指定字符

读取文件 a.txt 的前6个字符

file = open('a.txt', encoding='utf-8')
text = file.read(6)
print(text)

输出:

第一行
第二

3.3 读取指定行

readline()函数可以读取一行内容 读取文件 a.txt 第一行内容

file = open('a.txt', encoding='utf-8')
text = file.readline()
print(text)

输出:

第一行
file = open('a.txt', encoding='utf-8')
i = 0
while i < 3:
    text = file.readline()
    print(text)
    i += 1

输出:

第一行

第二行

第三行

3.4 遍历文件

使用 for 循环遍历文件,「逐行读取」文件内容

file = open('a.txt', encoding='utf-8')
for text in file:
    print(text)

输出:

第一行
第二行
第三行
第四行
……

3.5 关闭文件

close()函数可以关闭文件,如果文件未关闭,对文件的「修改」可能会「不生效」

file = open('a.txt', encoding='utf-8')
print(file.read(3))
file.close()

输出:

第一行

write()函数可以向文件中写入内容 修改文件内容时,需要指定open()函数的参数

  • a:「追加」内容至文件末尾
  • w:「写入」内容至文件中(覆盖原文件内容)

向文件 a.txt 中追加内容

file = open('a.txt', 'a', encoding='utf-8')
file.write('新添加的内容')
file.close()

# 修改模式的文件不可读,需重新打开文件
file = open('a.txt', 'r', encoding='utf-8')
print(file.read())

输出:

第一行新添加的内容
file = open('a.txt', 'w', encoding='utf-8')
file.write('新添加的内容')
file.close()

# 修改模式的文件不可读,需重新打开文件
file = open('a.txt', 'r', encoding='utf-8')
print(file.read())

输出:

新添加的内容

exists()函数可以判断「文件是否存在」 remove()函数可以根据文件名「删除文件」

import os

if os.path.exists('a.txt'):
    print('文件存在,删除文件')
    os.remove('a.txt')
else:
    print('文件不存在,无法删除')

输出:

文件存在,删除文件

rmdir()函数可以删除目录(文件夹)

import os

os.rmdir('mulu')

观察左侧目录,文件夹 mulu 已被删除

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/wangyuxiang946/article/details/122268814
-- 展开阅读全文 --
Redis底层数据结构--跳跃表
« 上一篇 04-28
BUUCTF Web [强网杯 2019]随便注
下一篇 » 06-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复