首页 > 编程语言 >Python----文件的相关操作

Python----文件的相关操作

时间:2023-01-12 14:12:58浏览次数:41  
标签:content utf name encoding Python ---- 文件 open

'''
模式:常用的为r、w、a
   r: 只读     ;光标在开头  r+:读写      光标在开头  rb:二进制读取  rb+
   w: 覆盖写入 ;光标在开头  W+:覆盖读写   光标在开头  WB:二进制覆盖  WB+
   a: 追加写入 ;光标在末尾  a+: 读写      光标在末尾   ab:二进制追加  ab+
'''
# read() 以只读的方式打开文件,编码为utf-8,光标默认在起始位置
# close()  关闭文件
f = open("./demo.txt", "r", encoding="utf-8")
# read()读取文件所有内容
content = f.read()
print(content)

# ./ 为相对路径
f = open("./demo.txt", "r", encoding="utf-8")
# readlines 读取文件所有内容,并以列表形式展示,每一行内容为一个元素
# readline  读取第一行文件内容
content = f.readlines()
print(content)

# seek()  作用:用来移动文件指针
# 语法:文件对象.seek(偏移量,起始位置)
# 偏移量:英文字母1个偏移量,中文汉字3个偏移量,
# \n 2个偏移量,英文标点符号1个偏移量,中文标点符号3个偏移量
# 起始位置: 0:文件开头 1:当前位置 2:文件末尾

f = open("./demo.txt", "r", encoding="utf-8")
f.seek(9, 0)
content = f.read()
print(content)

# write() 覆盖写入
f = open("./demo2.txt", "w", encoding="utf-8")
f.write("张员外")
f.close()

f = open("./dem3.txt", "a", encoding="utf-8")
f.write("明天下午擦玻璃")
f.close()

# 上下文管理器  with....as.... 操作完成后,自动关闭当前文件
with open("./dem3.txt", "a", encoding="utf-8") as f:
    f.write(",周六安排全屋保洁")

# r+ read()从开头开始按写入内容覆盖
# r+ readlines()从末尾追加
with open("./demo.txt", "r+", encoding="utf-8") as f:
    f.write("小学生")
    content = f.read()
    print(content)

# w+ 完全覆盖所有内容,并新增
with open("./demo.txt", "w+", encoding="utf-8") as f:
    f.write("小学生必背古诗词")
    content = f.read()
    print(content)

# a+ 从末尾新增
with open("./demo.txt", "a+", encoding="utf-8") as f:
    f.write("小学生必背古诗词")
    content = f.read()
    print(content)

# 绝对路径
with open("J:\\python_basics\\课件笔记\\demo.txt", "a+", encoding="utf-8") as f:
    f.write("小学生必背古诗词")
    content = f.read()
    print(content)

# 文件备份的操作
# 输入旧文件名称
old_name = input("请输入文件名:")
# 从最右侧开始提取第一个"."符号索引值
index = old_name.rindex(".")
# 组织新文件名称,xxx + 备份 + 后缀
new_name = old_name[:index] + "备份" + old_name[index:]
# 只读模式打开old_name文件
old_f = open(f"{old_name}", "r", encoding="utf-8")
# 追加写入模式打开new_name文件
new_f = open(f"{new_name}", "a", encoding="utf-8")

while True:
    # 读取old_name所有文件,赋值给变量
    content = old_f.read()
    # 所有文件读取完之后,停止读取
    if len(content) == 0:
        break
    # 把变量的内容写入打开的new_name
    new_f.write(content)
# 关闭所有文件
old_f.close()
new_f.close()

# 文件和文件夹的操作
# 在Python中对文件和文件夹的操作需要导入os模块
# 导入os模块

import os

# 文件重命名
os.rename("目标文件名", "新文件名")
# 删除文件
os.remove("目标文件名")
# 创建文件夹
os.mkdir("文件夹名字")
# 删除文件夹
os.rmdir("文件夹名字")
# 获取当前目录
os.getcwd()
# 获取当前文件所在目录
print(os.getcwd())
# 改变默认目录
os.chdir()
# 获取目录列表
os.listdir()

练习:

1.写一首诗,放到一个txt文件里

2.删除第二句诗

标签:content,utf,name,encoding,Python,----,文件,open
From: https://www.cnblogs.com/cenb/p/17046523.html

相关文章

  • while与do-while的区别是什么,怎么用?
    前言在上一篇文章中,壹哥给大家讲解了循环的概念,并重点给大家讲解了for循环的使用。但在Java中,除了for循环之外,还有while、do-while、foreach等循环形式。今天壹哥就再用一......
  • JS秒转换为天小时分秒公式&返回当前年月日时分秒&度分秒转换
    天时分秒letd=Math.floor(seconds/(3600*24));leth=Math.floor(seconds%(3600*24)/3600);letm=Math.floor(seconds%3600/60);let......
  • .net core(.net 6) webAPI中的AOP支持 ----Filter
    在.netcore中Filter分为以下六大类:1、AuthorizeAttribute(权限验证)2、IResourceFilter(资源缓存)3、IActionFilter(执行方法前后的记录)4、IResultFilter(结果生成前后扩......
  • Dotfiles Management
    cd~mkdir.dotfilescd.dotfilesgitinit--bare#initialiseabaregitrepocd-echo"aliasdotfiles='git--git-dir=/home/mx/.dotfiles--work-tree=/'">......
  • 06 滚动条操作1.0 - 调整图像亮度
    06滚动条操作1.0-调整图像亮度opencv知识点:创建滚动条-createTrackbar()处理滚动条事件的函数-TrackbarCallback()本课所解决的问题:如何创建滚动条?如何通......
  • android开发day2
    简单控件设置文本内容首先,需要在strings.xml中定义字符串变量,防止硬编码在XML中设置在java代码中设置设置文本大小单位px:相同分辨率,不同尺寸,占的比例相......
  • Python----文件操作练习题
    withopen("./作业.txt","w",encoding="utf-8")asw:w.write("晓出净慈寺送林子方\n毕竟西湖六月中\n风光不与四时同\n接天莲叶无穷碧\n映日荷花别样红")witho......
  • 如何管理项目干系人?
    一、什么是项目干系人?项目干系人是指积极参与项目或其利益可能受项目积极或消极影响的个人、组织。我们以软件项目为例,大家也可以将项目干系人视为在软件项目中拥有既得利益......
  • java idea debug变慢
    问题debug启动比run慢的非常多原因断点太多(刚开始直接取消了几个断点,没啥变化)解决取消打钩......
  • 项目已经部署到linux服务器,且启动成功,使用nginx代理后却访问不了&阿里云服务器安全组
    问题项目已经部署到linux服务器,且启动成功,端口号也有显示,使用nginx代理后却访问不了我们的项目,反复检查自己各个环节的问题,确定访问路径,端口IP映射没有问题后还是不能访......