掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱-2

简介: 掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱-2

掌握Python文件操作的绝招:打造数据之径,揭开文件操作的神秘面纱-1https://developer.aliyun.com/article/1430379


备份文件操作

在生活中,我们也会经常遇到文件备份的操作,那么我将为大家来揭晓文件备份操作的原理。

通常系统会提示你输入要备份的文件的名称,然后会生成一个 原文件名[备份].后缀 的文件。


提示用户输入文件名,并生成一个有效的备份文件名

因为文件的后缀是由最后一个出现的 . 的以及 . 后面的字符串所组成的,所以我们需要找到最后一个出现的 . 的位置,并且根据 . 的位置是否为 0 来判断文件名的合法性。.txt 这种文件名就是不合法的。

old_name = input('请输入你要备份的文件的名称:')
index = old_name.rfind('.')  # 从后往前找,找到的第一个.的位置就是最后一个.的位置
if index > 0:  # 判断文件名的合法性
    postfix = old_name[index:]
new_name = old_name[:index] + '[备份]' + postfix  # 组合成新的备份文件名

将原文件中的数据拷贝到新文件中

因为原文件中数据可能较多,一次拷贝可能会出现问题,所以我们分多次拷贝,一次拷贝部分数据。

# 打开原文件,并创建备份文件
old_f = open(old_name,'r')
new_f = open(new_name,'w')
while True:
    con = old_f.read(1024)
    if len(con) == 0:  # 当读取的内容长度为0时,表明原文件内容已读取完
        break
    new_f.write(con)

文件和文件夹操作

在 python 中,文件和文件夹操作需要借助模块 os 里面的相关功能,所以我们需要导入 os 模块 import os


1.文件重命名

os.rename(原文件名,新文件名)
import os
os.rename('test.txt','test1.txt')

2.删除文件

os.remove(文件名)
os.remove('test1.txt')


3.创建文件夹

os.mkdir(文件夹名)
os.mkdir('aa')


4.删除文件夹

os.rmdir(文件夹)
os.rmdir('aa')


5.获取当前目录

os.getcwd()
print(os.getcwd())



6.改变默认目录

os.chdir(目录)

如果我们想要在文件夹 aa 下面再创建一个文件夹 bb 该怎么办呢?

os.mkdir('aa')
os.mkdir('bb')


这样可以吗?

显然不行,aa和bb属于同一级目录,这是因为默认目录是这个:

添加文件夹也是在这个默认目录下添加的,那么如果我们想要在aa文件夹下创建bb文件夹,就需要我们更改默认目录。

os.mkdir('aa')
os.chdir('aa')  # 更改默认目录为aa
os.mkdir('bb')

7.获取目录列表

os.listdir(目录)

os.listdir(目录) 会以列表的形式返回该目录下的所有文件。

print(os.listdir('aa'))



相关文章
|
1月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
103 10
|
9天前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
1月前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
2月前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
64 3
|
2月前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
38 1
|
2月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
2月前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
2月前
|
数据采集 JavaScript 程序员
探索CSDN博客数据:使用Python爬虫技术
本文介绍了如何利用Python的requests和pyquery库爬取CSDN博客数据,包括环境准备、代码解析及注意事项,适合初学者学习。
91 0
|
2月前
|
数据采集 存储 分布式计算
超酷炫Python技术:交通数据的多维度分析
超酷炫Python技术:交通数据的多维度分析
|
2月前
|
索引 Python
SciPy 空间数据1
SciPy 通过 `scipy.spatial` 模块处理空间数据,如判断点是否在边界内、计算最近点等。三角测量是通过测量角度来确定目标距离的方法。多边形的三角测量可将其分解为多个三角形,用于计算面积。Delaunay 三角剖分是一种常用方法,可以对一系列点进行三角剖分。示例代码展示了如何使用 `Delaunay()` 函数创建三角形并绘制。
39 0