Python智阐8-文件和目录操作(python中file,关键词优化)

时间:2024-05-07 20:08:31 作者 : 石家庄SEO 分类 : 关键词优化
  • TAG :

    Python%E6%99%BA%E9%98%908-%E6%96%87%E4%BB%B6%E5%92%8C%E7%9B%AE%E5%BD%95%E6%93%8D%E4%BD%9C

本篇主要介绍文件目录、文件的一些操作方法。

其中目录的操作需要引入os模块:

import os

操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中。

1、目录操作方法

1.1 查看当前目录

import osprint(os.getcwd()) #查看当前目录

输出:

>>>D:\Code

1.2 返回指定目录下的所有文件

import ospath = r"D:\Code"print(os.listdir(path))

会以列表的形式,返回所有文件

输出:

>>>['.idea', '4.py', 'log', 'test.txt', 'venv', '函数.py', '基本数据类型.py','文件读写.py', '输入和输出.py']

1.3 目录创建、重命名、删除

import ospath = r"D:\Code"# 在当前目录D:\Code下创建目录os.mkdir("test") #方式1:直接创建testos.mkdir(r"D:\Code\test") #方式2:输入完整目录进行创建# 重命名刚刚创建的目录os.rename("test", "testpy")# 删掉刚刚创建的目录os.rmdir("testpy") #方式1:直接删除testos.rmdir(r"D:\Code\testpy") #方式2:输入完整目录进行删除

1.4 判断目录是否存在

import ospath = r"D:\Code"#判断是否是目录print(os.path.isdir(path))#判断目录是否存在print(os.path.exists(path))

1.5 目录拼接、拆分

import os#目录拼接newPath = os.path.join(r"D:\Code\test", 'test.txt')print(newPath)

#目录拆分path = os.path.split(r"D:\Code\test\test.txt")print(path)

#获取文件扩展名txtName = (os.path.splitext(r"D:\Code\test\test.txt"))print(txtName)print(txtName[1])

输出:

>>>

>>>D:\Code\test\test.txt

>>>('D:\\Code\\test', 'test.txt')

>>>('D:\\Code\\test\\test', '.txt')

>>>.txt

2、打开文件/关闭文件

文件的打开和关闭用open()和close()来实现

open()函数主要参数介绍:

参数file:文件路径

参数mode:打开方式,常用的mode有

r 以只读的方式打开文件,文件读取光标会放到文件的开头

w 打开一个文件,只用于写入,如果文件存在则打开文件,写入的内容会覆盖原内容,如果文件不存在,则新生成一个文件。

a 打开一个文件用于追加。如果文件存在,则文件读写光标会放到文件的末尾,新写入的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

+ 打开一个文件进行更新(可读可写)。

b 二进制模式。

还有r+、w+、a+、rb、wb、ab等。可自行参考官方文档。

参数encoding:编码方式 (encoding="utf-8"一般都是utf-8)

errors:错误处理 (errors="ignore"表示忽略错误)

path = r"D:\Code\test.txt"f = open(path, "r")#f = open(path, "r", encoding="utf-8", errors="ignore")f.close()

3、读写文件

3.1 read() 读取文件内容

path = r"D:\Code\test.txt"f = open(path, "r")txt = f.read() #读取文件全部内容print(txt)f.close()

3.2 read(n) 读取指定字符数

path = r"D:\Code\test.txt"f = open(path, "r")txt = f.read(2) #读取指定字符 -1 表示读取全部内容print(txt)f.close()

3.3 readline() 读取整行

path = r"D:\Code\test.txt"f = open(path, "r")txt = f.readline() #读取整行print(txt)f.close()

3.4 readlines() 读取所有行并返回列表

path = r"D:\Code\test.txt"f = open(path, "r")txt = f.readlines() #读取所有行并返回列表print(txt)f.close()

输出:

>>>['hello 智数分析1!\n', 'hello 智数分析2!\n', 'hello 智数分析3!\n', 'hello 智数分析4!']

3.5 写文件

内容先写入内存缓冲区,然后再由内存缓冲区写入到文件。

path = r"D:\Code\test.txt"f = open(path, "a")f.write("hello python") #将信息写入内存缓冲区f.flush() #刷新内存缓冲区f.close()

4、文件读写异常

前面已经介绍过了python异常处理,我们在处理文件时也经常会遇到一些异常,会导致f.close()无法执行。

如果也用try......except......finally方式去处理,程序代码会比较复杂。

try:f = openr(r"D:\Code\test.txt", 'r') print(f.read())finally: if f: f.close()

Python提供了with语句来帮我们自动调用close()方法,以后我们要处理文件时,都可以用以下这种写法。

path = r"D:\Code\test.txt"with open(path, "r") as f:print(f.read())

本文:Python智阐8-文件和目录操作的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:人生苦短,我用Python:if-else和elif的使用下一篇:

3 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18