python中的文件

绝对路径和相对路径

一般情况下绝对路径就是从根目录开始描述的路径

相对路径就是相对于当前目录

. 没错,就是一个点,表示的是当前文件夹;.. 两个点表示的是上一层文件夹

os模块与os.path

osos.path 是两个非常重要的标准库模块,它们分别用于操作系统相关的功能操作和文件路径处理。

import os

os 模块提供了许多底层的系统接口,例如:

  1. 创建、删除和重命名文件和目录:如os.mkdir()os.rmdir()os.rename(),os.remove()等。
  2. 改变工作目录os.getcwd()获取当前工作目录,os.chdir()更改它。
  3. 进程管理:包括启动子进程(os.system())、等待进程结束(os.waitpid())等。
  4. 权限和错误处理:如os.chmod()修改文件权限,os.error处理运行时的文件系统错误。

os.path 模块则专注于文件和目录路径的操作,提供了一些有用的函数帮助处理路径:

  1. 文件和目录路径的拆分和组合:如os.path.split()os.path.join(), 分离文件名和路径,或拼接路径组件。
  2. 检查路径是否存在os.path.exists()os.path.isfile()os.path.isdir(),os.path.isabs(path)等判断路径是否为文件、目录或真实存在,是否绝对路径。
  3. 获取路径信息:如获取路径的长度、扩展名、基础名称等。
  4. 规范化路径os.path.abspath()os.path.normpath()保证路径的一致性和标准化。
获取文件大小
import os
print(os.path.getsiez("demo.py"))
# 获取的是字节大小
获取指定目录下的所有内容
import os
print(os.listdir("."))
 python读取文件

# 文件地址,注意提前在当前目录新建一个 test.txt 文件
file = "test.txt"
# 打开文件
f = open(file, encoding="utf-8")
# 读取文件全部内容
read_str = f.read()
# 关闭文件
f.close()
print(read_str)

#逐行读取方法 redlines
# 文件名
file = "test.txt"
# 打开文件
f = open(file, encoding="utf-8")
# 逐行读取
data = f.readlines()
# 关闭文件
f.close()
print(data)
# ['梦想橡皮擦\n', '是一个大佬\n', '真的是一个大佬\n', '我自己都信了']

#写入文件
# 文件地址,注意提前在当前目录新建一个 test.txt 文件
file = "test.txt"
# 打开文件
with open(file, mode="w", encoding="utf-8") as f:
    # 写入文件内容
    f.write("我是即将被写入的内容")

#写入多行数据
file = "test.txt"
# 打开文件
with open(file, mode="w", encoding="utf-8") as f:
    # 写入文件内容
    f.write("我是即将被写入的内容\n")
    f.write("我是即将被写入的内容")

#使用with-as 以防止忘记打开文件之后进行关闭
file = "test.txt"
# 打开文件
with open(file,encoding="utf-8") as f:
    # 读取文件全部内容
    read_str = f.read()
    print(read_str)
文件复制
import shutil

shutil.copy("test.txt","aaa.txt")
shutil.copy("test.txt","../aaa.txt") # 不同目录拷贝
目录复制
# copytree 方法语法格式与 copy 一致,只不过该方法是用来复制目录的,如果目录下面有子目录或文件一起复制。

import shutil
# 第一个参数是旧目录,第二个参数是新目录
shutil.copytree("../1","a4")
多用的move方法
shutil.move(旧文件,新文件)
删除有数据的目录

使用 rmtree 可以删除有数据的目录,相当于直接清空该目录下的所有目录和文件,再顺便把该目录也删除了。具体内容自行测试即可。

zipFile 模块

通过该模块可以直接对文件进行压缩与解压操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值