Python基础入门第九课笔记(文件和文件夹)

 1,新建文本并且写内容

a = open('1.text','w')
a.write("""aaa
bbb
ccc""")
a.close()

2,seek( )移动文件指针

文件对象.seek(偏移量,起始位置)  

# 起始位置:0开头,1当前位置,2文件结尾

# 偏移量:假设起始位置是开头,偏移量是5,那文件指针就在第6个字节上

# 偏移量和起始位置都为0时,可以只写一个0

例如:

文件对象 = open('文件名','r+')

文件对象.seek(2,0)

print(文件对象.read())

文件对象.close

a = open('1.text','r+')
a.seek(2,0)
print(a.read())

 

3,文件备份

(1)用户输入目标文件

文件名 = input('请输入您要备份的文件名:')

(2)规划备份文件的名字
(2.1)提取后缀,找到名字中最右侧的点,名字和后缀分离

点的位置 = 文件名.rfind('.')

(2.2)组织新名字 = 原名字 + [备份] + 后缀

if 点的位置 >0:
        后缀=文件名[点的位置:] 
else:
        print('文件名输入错误')

新名字 = 文件名[:点的位置]+'[备份]' + 后缀

文件名 = input('请输入您要备份的文件名:')
点的位置 = 文件名.rfind('.')
print(点的位置)

 

if 点的位置 > 0:
    后缀 = 文件名[点的位置:]
else:
    print('文件名输入错误')
新名字 = 文件名[0:点的位置] + '[备份]'+后缀
文件对象旧 = open(文件名,'rb')
文件对象新=open(新名字,'wb')
while True:
        读取数据=文件对象旧.read(3)
        if len(读取数据) == 0:
                break
        文件对象新.write(读取数据)

文件对象旧.close()
文件对象新.close()

4,文件和文件夹操作(1)

(1)os模块:操作文件和文件夹

import os    # 导入模块

os.函数名( )  # 使用os模块相关功能

(2)文件和文件夹重命名

os.rename('旧文件名','新文件名')   # 目标文件名可以写路径,否则默认当前文件夹下面
os.rename('旧文件夹名','新文件夹名')

import os
os.rename('今天的.txt','大前天的.txt')

(3)删除文件 (没有指定文件会报错)

os.remove(目标文件名)

(4)创建文件夹

(重复创建相同名字的文件夹报错)

os.mkdir(文件夹名字)

4,文件和文件夹操作(2)

(5)删除文件夹 (没有指定文件夹报错)

os.rmdir(文件夹名字)

(6)获取当前文件所在目录路径

os.getcwd( ) #获取当前文件所在目录路径

例如:print(os.getcwd( ))

(7)改变默认目录

os.chdir(目录)
例如:在当前文件夹aa目录下创建bb目录
os.chdir('aa')
os.mkdir('bb')

(8)获取某个文件夹下所有文件和文件夹的名字,返回一个列表

os.listdir(目录) # 返回所有文件名

例如:print(os.listdir( ))   # 返回当前文件夹下
例如:print(os.listdir( '文件夹名' ))  # 返回指定文件夹下

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/306512.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ncast盈可视 高清智能录播系统 IPSetup.php信息泄露+RCE漏洞复现(CVE-2024-0305)

0x01 产品简介 Ncast盈可视 高清智能录播系统是广州盈可视电子科技有限公司一种先进的音视频录制和播放解决方案,旨在提供高质量、高清定制的录播体验。该系统采用先进的摄像和音频技术,结合强大的软件平台,可以实现高清视频录制、多路音频采集、实时切换和混音、定制视频分…

MySQL之数据的导入、导出远程备份

目录 一. navicat的导入、导出 1.1 导入 1.2 导出 二. mysqldump命令导入、导出 2.1 导出 2.2 导入 三. LOAD DATA INFILE 命令导入、导出 3.1 设置 3.2 导出 3.3 导入 3.4 查看secure_file_priv设置 四. 远程备份 4.1 导出 4.2 导入 五. 思维导图 一. navicat的导入、导…

系统存储架构升级分享 | 京东云技术团队

一、业务背景 系统业务功能:系统内部进行数据处理及整合, 对外部系统提供结果数据的初始化(写)及查询数据结果服务。 系统网络架构: 部署架构对切量上线的影响 - 内部管理系统上线对其他系统的读业务无影响分布式缓存可进行单独扩容, 与存储及查询功能升级无关通过…

Open CASCADE学习|非线性方程组

非线性方程组是一组包含非线性数学表达式的方程,即方程中含有未知数的非线性项。解这类方程组通常比解线性方程组更为复杂和困难。 非线性方程组在很多领域都有应用,例如物理学、工程学、经济学等。解决非线性方程组的方法有很多种,包括数值…

ASM磁盘管理:从初始化参数到自动化管理的全面解析

文章目录 一、引言二、ASM初始化参数三、ASM三大系统权限四、ASM实例的启停1.Oracle ASM的启停可以通过两种方式进行2.查看集群中的资源状态3.配置 ASM资源随着系统启动而启动4.配置数据库实例随着ASM启动而启动 五、数据库实例与ASM的交互六、 启动策略详解七、 ASM后台进程八…

【前端】前后端的网络通信基础操作(原生ajax, axios, fetch)

概述 前后端网络请求工具 原生ajaxfetch apiaxios GET和POST请求 get只能发纯文本 post可以发不同类型的数据,要设置请求头,需要告诉服务器一些额外信息 测试服务器地址 有一些公共的测试 API 可供学习和测试用途。这些 API 允许你发送 HTTP 请求…

在 Flutter 中创建圆角图像和圆形图像有多少种方法?

使用 Container 、 ClipRRect 、 CircleAvatar 、 Card 和 PhysicalModel 实现具有视觉吸引力的图像效果。 在 Flutter 应用 UI 设计中,圆形图像是常见的视觉元素。本博客探讨了使用不同技术实现圆形图像效果的各种方法。无论是使用网络图像、本地文件还是资源&…

CSS渐变透明

文章目录 一、前言1.1、MDN 二、实现2.1、源码2.2、线上源码 三、最后 一、前言 使用场景:在做两个元素的连接处的UI适配时,图片的颜色不能保证一定跟背景颜色或者是主色调保持一致时,会显得比较突兀。 1.1、MDN MDN的文档,点击【…

【数据库系统概论】期末复习1

试述数据、数据库、数据库系统、数据库管理系统的概念。试述文件系统与数据库系统的区别和联系。试述数据库系统的特点。数据库管理系统的主要功能有哪些?试述数据库系统三级模式结构,这种结构的优点是什么?什么叫数据与程序的物理独立性&…

高光谱分类论文解读分享之基于多模态融合Transformer的遥感图像分类方法

IEEE TGRS 2023:基于多模态融合Transformer的遥感图像分类方法 题目 Multimodal Fusion Transformer for Remote Sensing Image Classification 作者 Swalpa Kumar Roy , Student Member, IEEE, Ankur Deria , Danfeng Hong , Senior Member, IEEE, Behnood Ras…

【办公类-19-01】20240108图书统计登记表制作(23个班级)EXCEL复制表格并合并表格

背景需求: 制作一个EXCEL模板,每个班级的班主任统计 班级图书量(一个孩子10本,最多35个孩子350本) EXCEL模板 1.0版本: 将这个模板制作N份——每班一份 项目:班级图书统计表 核心:一个EXCEL模板批量生成…

电子学会C/C++编程等级考试2020年09月(一级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:输出整数 输入四个整数,把输入的第三、第四个整数输出。 时间限制:3000 内存限制:65536 输入 只有一行,共四个整数,整数之间由一个空格分隔。整数是32位有符号整数。 输出 只有一行,二个整数,即输入的第三、第四个整数,以一…

k8s-存储 11

一、configmapu存储 首先,确保集群正常,节点都处于就绪状态 Configmap用于保存配置数据,以键值对形式存储。configMap资源提供了向 Pod 注入配置数据的方法,旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用…

Linux 网络设置与基础服务

一 配置网络设置 主机名 hostname IP地址/netmask ifconfig ; ip a 路由:默认网关 route -n DNS服务器 cat /etc/resolv.conf 网络连接状态 ss netstat 域名解析 ns…

【OSG案例详细分析与讲解】之二:【着色文件转换为字符数组】

文章目录 一、【着色文件转换为字符数组】前言 二、【着色文件转换为字符数组】Shader转换 三、【着色文件转换为字符数组】转换函数 1.转换函数 2.字符替换函数 四、【着色文件转换为字符数组】示例 1.GLSL2Cpp.cpp文件: 2.Qt pro文件: 五、【着色文件转…

Spark与Cassandra的集成与数据存储

Apache Spark和Apache Cassandra是大数据领域中两个重要的工具,用于数据处理和分布式数据存储。本文将深入探讨如何在Spark中集成Cassandra,并演示如何将Spark数据存储到Cassandra中。将提供丰富的示例代码,以帮助大家更好地理解这一集成过程…

vue2源码解析之第一步(对数据进行劫持)

###环境搭建 第一步 创建项目: npm init -y 第二步 安装对应的插件: npm i rollup rollup-plugin-babel babel/core babel/preset-env --save-dev 第三步 全局下创建rollup配置文件 rollup.config.js import babel from rollup-plug…

mysql的导入导出

mysql的导入导出 1.使用navicat导入导出1.1导入1.2导出 2.使用.mysqldump命令导入导出2.1导出表结构和数据2.2导出表结构2.3导入 3..LOAD DATA INFILE命令导入导出3.1在mysqlini 文件的[mysqld] 代码下增加 secure_file_privE:/TEST 再重启 mysql3.2导出3.3导入 4.远程备份导入…

Ubuntu20二进制方式安装nginx

文章目录 1.下载nginx安装包2.安装nginx3.安装出现的问题及解决方案错误1:错误2:错误3: 4.常用命令5.知识扩展: 1.下载nginx安装包 nginx官网:http://nginx.org/en/download.html 选择稳定的nginx版本下载。 2.安装ngi…

[redis] redis主从复制,哨兵模式和集群

一、redis的高可用 1.1 redis高可用的概念 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 高可用的计算公式是1-(宕机时间)/(宕机时…