IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python文件或文件夹操作 -> 正文阅读

[Python知识库]python文件或文件夹操作

python文件或文件夹操作

Python 操作文件时,我们一般要先判断指定的文件或目录是否存在,不然容易产生异常。

os模块提供了一种使用与操作系统相关的功能。os.path 模块操作文件路径。【其官方文档,可见如下两部分

os --- 多种操作系统接口 — Python 3.10.3 文档

例子Python OS 文件/目录方法 | 菜鸟教程?

os.path --- 常用路径操作 — Python 3.10.3 文档

例子Python os.path() 模块 | 菜鸟教程?】要使用os标准模块,用import os语句引入之。

shutil 模块提供了一系列对文件和文件集合的高阶操作。 特别是提供了一些支持文件拷贝和删除的函数。【其官方文档shutil --- 高阶文件操作 — Python 3.10.3 文档?】要使用shutil 模块先用import shutil引入

fileinput模块(module)实现了一个辅助类和一些函数用来快速编写访问标准输入或文件列表的循环。【其官方文档fileinput --- 迭代来自多个输入流的行 — Python 3.10.3 文档?】要使用fileinput 模块先用import fileinput引入

tempfile模块用于创建临时文件和目录【其官方文档tempfile --- 生成临时文件和目录 — Python 3.10.3 文档

】要使用tempfile 模块先用import tempfile引入。

这些都是Python自带的标准模块, Python 安装时同时就附带自动安装了,不需象使用第三方模块那样,需要先用pip程序单独安装之,才可以用。

用import os语句后,可以使用下列函数

os.name # nt 表示Windows 系统;'posix’表示Linux系统

os.sep ?#输出当前操作系统的路径分隔符;windos 展示 “\” 或 “\”;linux ”/“

os.linesep??#输出当前操作系统的换行符

os.pathsep ?#输出分割文件路径的分隔符

os.environ ?#获取系统环境变量

os.listdir(path) ?# 列出该路径下所有的文件夹

os.mkdir(path) #创建一个目录

os.rmkdir(path) #删除一个空目录

os.rename(‘src’,‘dst’) # 更改文件或目录名,将src 重命名为 dst

os.getcwd() ?# 获取当前的工作目录

os.chdir(path) # 改变当前脚本目录,到指定目录

os.open()?# 读写一个文件,其官方文档 https://docs.python.org/zh-cn/3/library/functions.html#open

os.path.exists(path)??#如果path存在则返回true,否则返回false

os.path.isabs(path) #如果path是绝对路径则返回true

os.path.isfile(path) #如果path是一个存在的文件返回true,否则返回false

os.path.isdir(path) #如果path是一个存在的目录则返回true,否则返回false

os.path.split(path) #将path分割成目录和文件名二元组返回

os.path.splitext(path)?#分割路径,返回路径名和文件扩展名的元组

例1、判断文件是否存在
import os
file="d:/hello.txt"
os.path.exists(file)?#存在返回True

例2、分割路径,返回路径名和文件扩展名
一个文件的文件名为:
file='abc123.txt'
则:
os.path.splitext(file)[0] #得到:'abc123'
os.path.splitext(file)[1] ?#得到:'.txt'

import shutil?语句后,可以使用下列函数

shutil.rmtree(path) ?????# 删除一个完整的目录树——文件夹及其下所有文件

shutil.copyfile("old","new")    # 复制文件,只能是文件

shutil.copytree("old","new")   # 复制目录,只能是目录,且new必须不存在

shutil.copy("old","new")    # 复制文件/文件夹,复制 old 为 new

shutil.move("old","new") ?   # 移动文件/文件夹至 new 文件夹中

用import fileinput?语句后,可以使用下列函数

input() ???#模块的主要方法,返回能够用于for循环遍历的对象,该对象可迭代

fileinput.filename()  #返回当前正在读取的文件名,如果第一行被读取之前调用将返回None

fileinput.fileno() ????#返回当前文件的文件描述符(1个整数),没有文件被打开(第一行之前或文件之间的时刻)将返回-1

fileinput.lineno() ??#返回当前已经累加读取的行的数量(或者序号)

fileinput.filelineno() ??#返回当前读取的行的行号,第一行读取之前返回0,最后文件的最后行被读取之后调用,将返回最后一行所在文件的行号

fileinput.isfirstline() ??#检查当前行是否是所在文件的第一行,如果是则返回True,否则False

fileinput.isstdin() ??#如果上一行是从sys.stdin(标准输入)读取的,则返回True,否则False

fileinput.nextfile()  #关掉当前文件以便从下个文件的第一行开始迭代读取

、判断是否是第一行:

import fileinput
for line in fileinput.input(r'd:\test.txt'):
????if fileinput.isfirstline():
????????print(line)
????else:
????????break
fileinput.close()

用import ?tempfile 语句后,可以使用下列函数

tempfile.TemporaryFile()

tempfile.NamedTemporaryFile()

tempfile.SpooledTemporaryFile()

tempfile.TemporaryDirectory)_

tempfile.mkstemp()

tempfile.mkdtemp()

大量临时数据放在内存中会占用大量资源,可以使用临时文件来进行储存

临时文件不用命名,且使用后会被自动删除

例1、使用 TemporaryFile 创建的临时文件没有文件名,在文件系统中找不到,只能被当前进程访问
import tempfile
f = tempfile.TemporaryFile()
f.write(b'test')
f.seek(0)
print(f1.read())

例2、使用 NamedTemporaryFile 创建的临时文件有文件名,在文件系统中可以找到,因此可以多个进程同时访问
import tempfile
f = tempfile.NamedTemporaryFile()
f.write(b'test')
print(f.name)
f.seek(0)
print(f2.read())

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 20:45:38  更:2022-03-21 20:49:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:59:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码