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( '文件夹名' ))  # 返回指定文件夹下

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python接口自动化(十)--post请求四种传送正文方式(详解)

1.简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等。我们要知道post请求四种传送正文方式首先需要先了解一下常见的四…

xilinix 7系列器件生成已加密文件和已经过身份验证的文件

注释 :如需了解更多信息,请参阅《使用加密确保 7 系列 FPGA 比特流的安全》(XAPP1239)。 要生成加密比特流,请在 Vivado IDE 中打开已实现的设计。在主工具栏中,依次选择“Flow” → “Bitstream Settings”(流程 >…

RuntimeError: Expected to have finished reduction

这个问题是因为模型中定义了一堆函数,但是在loss.backward()后,模型中的某些函数跟loss计算无关。 1、可能出现的原因: 首先检查model 的forward前向过程,可能其中有些函数的计算结果没有参与到loss的计算部分。如果是比较大的框…

JPackage指令将可执行Jar包打包成EXE运行程序

jpackage是jdk14正式加入的一个用于独立打包的工具。 官网简介翻译: jpackage工具将以Java应用程序和Java运行时映像作为输入,并生成一个包含所有必要依赖项的Java应用程序映像。它可以生成特定于平台格式的本机软件包,例如Windows上的exe或…

Yolov5双目测距-双目相机计数及测距教程(含代码)

Yolov5双目测距是一种基于深度学习模型的双目相机计数及测距方法,它可以用于在不同场景下进行物体检测、识别和测距。 以下是 Yolov5双目测距的主要特点和步骤: 1. 双目相机: Yolov5双目测距需要使用一对双目相机来获取场景中的图像数据。…

【排序算法】一、排序概念和直接插入排序(C/C++)

「前言」文章内容是排序算法之直接插入排序的讲解。(所有文章已经分类好,放心食用) 「归属专栏」排序算法 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、排序概念的介绍二、直接插入排序2.1 原理2.2 代码实现(C/C&#xf…

VM虚拟机的ip突然不见了——吐血解决分享,同秃然的

问题:再虚拟机上不管是输入 ip a,还是ifconfig,还是ip addr,还是root都是一个效果,只有主机的IP,虚拟机的IP不见了 网上好多方法是改ens33文件的,可是我的打开之后是空白的,根本就没有东西,和我…

【小工具】pixi-live2d-display,直接可用的live2d的交互网页/桌面应用

效果&#xff1a; <script src"https://cubism.live2d.com/sdk-web/cubismcore/live2dcubismcore.min.js"></script> <script src"https://cdn.jsdelivr.net/gh/dylanNew/live2d/webgl/Live2D/lib/live2d.min.js"></script> <…

【数字图像处理】水平翻转、垂直翻转

图像翻转是常见的数字图像处理方式&#xff0c;分为水平翻转和垂直翻转。本文主要介绍 FPGA 实现图像翻转的基本思路&#xff0c;以及使用紫光同创 PGL22G 开发板实现数字图像水平翻转、垂直翻转的过程。 目录 1 水平翻转与垂直翻转 2 FPGA 布署与实现 2.1 功能与指标定义 …

Flink构造宽表实时入库案例介绍

1. 安装包准备 Flink 1.15.4 安装包 Flink cdc的mysql连接器 Flink sql的sdb连接器 MySQL驱动 SDB驱动 Flink jdbc的mysql连接器 2. 入库流程图 3. Flink安装部署 上传Flink压缩包到服务器&#xff0c;并解压 tar -zxvf flink-1.14.5-bin-scala_2.11.tgz -C /opt/ 复…

基于python热门旅游景点推荐系统+爬虫技术

大数据分析&#xff0c;数据可视化等皆可用。 源码分享。

esp32UART串口外设(Arduino)

通用异步接收器/发送器 &#xff08;UART&#xff09; 介绍 通用异步接收器/发送器 &#xff08;UART&#xff09; 是一种硬件功能&#xff0c;它使用广泛采用的异步串行通信接口&#xff08;如 RS232、RS422 和 RS485&#xff09;处理通信&#xff08;即时序要求和数据成帧&…