乐趣Python——文件与数据:挥别乱糟糟的桌面

各位朋友们,今天我们要开启一场非凡的冒险——进入文件操作的世界!你知道吗,在你的电脑里,有一个叫做“文件系统”的迷宫,里面藏着各种各样的文件和文件夹,它们就像是迷宫中的宝藏。但有时候,这些宝藏会变得乱糟糟的,找起东西来就像是在玩一场没完没了的捉迷藏。不过不用担心,Python将成为你的秩序守护神,一键就能让你的桌面恢复宁静与秩序。让我们一起来学习如何成为这个神奇世界的主人吧!

文件操作:秩序,从这里开始

“告别那堆乱糟糟的文件,Python将成为你的秩序守护神,一键让桌面恢复宁静与秩序。”

文件操作的理论与定义

想象一下,你的电脑是一个巨大的图书馆,而文件就是图书馆里的书籍。我们可以阅读书籍(读取文件),可以把新买的书放进图书馆(创建和写入文件),还可以把不喜欢的书扔掉(删除文件),甚至可以给书换一个位置(移动和重命名文件)。Python在这个图书馆里就像是一个无所不能的图书管理员,可以帮你做所有这些事情。

文件是存储在计算机上的一组相关数据的集合。 文件操作是对这些文件进行管理和处理的一系列操作。

在Python中,我们可以使用内置的文件操作函数来进行文件操作。文件操作是处理计算机文件的过程,它可以让我们对文件进行创建、写入、读取和删除等操作,从而帮助我们在计算机上管理和处理数据。

文件操作有几个常用的函数,包括:

  1. open():打开文件并返回文件对象。
  2. close():关闭文件。
  3. read():读取文件中的内容。
  4. write():将数据写入文件。
  5. seek():移动文件指针到指定位置。
  6. tell():返回文件指针的当前位置。
  7. exists():检查文件是否存在。
  8. remove():删除文件。
  9. rename():重命名文件或移动文件。
  10. mkdir():创建文件夹。
  11. rmdir():删除文件夹。

这些函数是 Python 中常用的文件操作函数,可以完成对文件的创建、写入、读取、删除、重命名、移动以及对文件夹的创建和删除等操作。使用这些函数可以方便地进行文件和文件夹的管理和处理。下面提供一些常用的函数来帮助你更好地理解这些操作。

创建和写入文件

首先,我们来学习如何在这个图书馆里添加新书籍。我们用Python写一本书吧!

with open("我的第一本书.txt", "w") as file:
    file.write("这是我用Python写的第一行文字!\n")
    file.write("Python真是太神奇了!")

这段代码使用了 with open() 语句来打开文件并写入内容。让我逐行解释每个部分的作用:

  • with open("我的第一本书.txt", "w") as file:

    • with open() 语句用于打开文件,并在代码块结束后自动关闭文件。
    • "我的第一本书.txt" 是要打开的文件名。你可以根据实际情况替换为你想要的文件名。
    • "w" 是打开文件的模式,代表写入模式。这意味着我们可以向文件中写入内容。
    • as file 将文件对象赋值给变量 file,以便后续对文件的操作。
  • file.write("这是我用Python写的第一行文字!\n")

    • write() 方法用于向文件中写入指定的字符串。
    • 在这行代码中,我们将字符串 “这是我用Python写的第一行文字!” 写入文件。
    • "\n" 是一个换行符,用于在文本中创建新的一行,以使得两行文字分别处于不同的行。
  • file.write("Python真是太神奇了!")

    • 这行代码将字符串 “Python真是太神奇了!” 写入文件的下一行。
    • 由于我们在上一行通过 write() 写入了一个换行符,这行代码将在文件中创建一个新的文本行。

通过这段代码,我们使用 with open() 语句打开了一个名为 “我的第一本书.txt” 的文件,并以写入模式打开。然后,我们使用 write() 方法向文件中写入两行字符串内容。

最后,当程序退出 with 代码块时,文件会自动关闭,无需手动调用 file.close() 方法。

另一个简单示例:

file = open("file.txt", "w")
file.write("这是一个示例文件。\n")
file.write("Hello, World!\n")
file.close()

这段代码用于创建一个名为 “file.txt” 的文件,并向其中写入两行文本内容。让我逐行解释代码的作用:

  • file = open("file.txt", "w")
    • 这行代码打开一个名为 “file.txt” 的文件,使用写入模式(“w”) 进行打开。
    • 打开文件后,将返回一个文件对象,并将其赋值给变量 file,以便后续对文件对象进行操作。
  • file.write("这是一个示例文件。\n")
    • 这行代码使用 write() 方法将字符串 “这是一个示例文件。” 写入文件。
    • "\n" 是一个特殊的转义序列,代表换行符,用于在文本中创建新的一行。
  • file.write("Hello, World!\n")
    • 这行代码使用 write() 方法将字符串 “Hello, World!” 写入文件的下一行。
    • 同样,我们使用 "\n" 添加一个换行符,以使得写入的内容在两行上。
  • file.close()
    • 这行代码使用 close() 方法关闭文件,确保文件被正确地保存和释放。

通过上述代码,我们创建了一个名为 “file.txt” 的文件,并以写入模式打开。然后,我们使用 write() 方法连续两次向文件中写入字符串。最后,通过 close() 方法关闭文件,确保对文件的修改被保存起来。

请注意,在进行文件操作后,最好始终手动关闭文件,以确保数据的完整性和安全性。另外,你也可以使用 with open() 语句来自动处理文件的打开和关闭,以简化代码。

读取文件

书写好了,接下来就是阅读我们的杰作。让我们用Python翻开这本书,看看里面写了些什么吧!

这段代码用于打开一个名为 “我的第一本书.txt” 的文件,并将文件中的内容读取到变量 content 中,然后将其打印出来。让我逐行解释代码的作用:

with open("我的第一本书.txt", "r") as file:
    content = file.read()
    print(content)

  • with open("我的第一本书.txt", "r") as file:
    • 这行代码使用 with open() 语句打开一个名为 “我的第一本书.txt” 的文件,并以只读模式(“r”)进行打开。
    • 打开文件后,将返回一个文件对象,并将其赋值给变量 file,以便后续对文件对象进行操作。
    • as file 将文件对象赋值给变量 file
  • content = file.read()
    • 这行代码使用 read() 方法读取文件中的所有内容,并将其保存在变量 content 中。
  • print(content)
    • 这行代码将变量 content 中的内容打印到控制台。

通过这段代码,我们使用 with open() 语句打开了一个名为 “我的第一本书.txt” 的文件,并以只读模式打开。然后,使用 read() 方法读取文件中的所有内容,并将其存储在变量 content 中。最后,通过 print() 函数将文件内容打印到控制台。

这是一个简单的示例,演示了如何使用 Python 打开文件并读取其中的内容。你可以根据自己的需求修改文件名,并对读取的内容进行进一步处理或输出。

删除文件

如果我们的书写错了,或者我们不再需要这本书了,我们可以把它从图书馆中删除。但要小心,删除后就找不回来了哦!

下面这段代码使用了 Python 的 os 模块来检查是否存在名为 “我的第一本书.txt” 的文件,如果存在则删除该文件,并打印相应的消息。如果文件不存在,则打印另一条消息。让我逐行解释代码的作用:

import os

if os.path.exists("我的第一本书.txt"):
    os.remove("我的第一本书.txt")
    print("文件已成功删除!")
else:
    print("文件不存在!")

  • import os
    • 这行代码导入了 Python 的 os 模块,使我们可以使用其中的文件和目录操作函数。
  • if os.path.exists("我的第一本书.txt"):
    • 这行代码使用 os.path.exists() 函数检查是否存在名为 “我的第一本书.txt” 的文件。
  • os.remove("我的第一本书.txt")
    • 这行代码调用了 os.remove() 函数来删除名为 “我的第一本书.txt” 的文件。
  • print("文件已成功删除!")
    • 如果文件存在且成功删除,则打印 “文件已成功删除!” 的消息。
  • print("文件不存在!")
    • 如果文件不存在,则打印 “文件不存在!” 的消息。

通过这段代码,我们首先导入了 os 模块。然后,使用 os.path.exists() 函数检查是否存在名为 “我的第一本书.txt” 的文件。如果文件存在,则调用 os.remove() 函数删除该文件,并打印 “文件已成功删除!” 的消息。如果文件不存在,则打印 “文件不存在!” 的消息。

这样的代码结构可以避免删除文件时出现异常,因为我们首先检查文件是否存在。这是一个常见的文件操作技巧,以确保我们只删除确实存在的文件。

移动和重命名文件

有时候,我们可能会想给书换一个位置,或者改一个更好听的名字。Python同样可以轻松帮你实现这个愿望。

这段代码使用了 Python 的 os 模块来检查是否存在名为 “我的第一本书.txt” 的文件,如果存在则将该文件移动或重命名为 “我的第二本书.txt”,并打印相应的消息。如果文件不存在,则打印另一条消息。让我逐行解释代码的作用:

import os

if os.path.exists("我的第一本书.txt"):
    os.rename("我的第一本书.txt", "我的第二本书.txt")
    print("文件已成功移动或重命名!")
else:
    print("文件不存在!")

  • import os
    • 这行代码导入了 Python 的 os 模块,使我们可以使用其中的文件和目录操作函数。
  • if os.path.exists("我的第一本书.txt"):
    • 这行代码使用 os.path.exists() 函数检查是否存在名为 “我的第一本书.txt” 的文件。
  • os.rename("我的第一本书.txt", "我的第二本书.txt")
    • 这行代码调用了 os.rename() 函数将名为 “我的第一本书.txt” 的文件移动或重命名为 “我的第二本书.txt”。
  • print("文件已成功移动或重命名!")
    • 如果文件存在且成功移动或重命名,则打印 “文件已成功移动或重命名!” 的消息。
  • print("文件不存在!")
    • 如果文件不存在,则打印 “文件不存在!” 的消息。

通过这段代码,我们首先导入了 os 模块。然后,使用 os.path.exists() 函数检查是否存在名为 “我的第一本书.txt” 的文件。如果文件存在,则调用 os.rename() 函数将文件移动或重命名为 “我的第二本书.txt”。最后,打印相应的消息,如果成功移动或重命名文件则打印 “文件已成功移动或重命名!”,如果文件不存在则打印 “文件不存在!”。

创建和删除文件夹

最后,我们的书太多了,我们需要一些书架(文件夹)来整理它们。让我们用Python来建造一些书架吧!

import os

os.mkdir("我的Python书架")
os.rename("我的第一本Python书.txt", "我的Python书架/我的第一本Python书.txt")

# 删除文件夹,需要先删除文件夹中的文件,然后再删除文件夹。
os.rmdir("我的Python书架")

上面这段代码使用了 Python 的 os 模块来创建文件夹、将文件移动到文件夹中,并删除文件夹。让我逐行解释代码的作用:

import os

os.mkdir("我的Python书架")

  • import os

    • 这行代码导入了 Python 的 os 模块,使我们可以使用其中的文件和目录操作函数。
  • os.mkdir("我的Python书架")

    • 这行代码使用 os.mkdir() 函数创建一个名为 “我的Python书架” 的文件夹。
  • os.rename("我的第一本Python书.txt", "我的Python书架/我的第一本Python书.txt")

    • 这行代码使用 os.rename() 函数将名为 “我的第一本Python书.txt” 的文件移动到 “我的Python书架” 文件夹中,并将其重命名为 “我的第一本Python书.txt”。
  • os.rmdir("我的Python书架")

    • 这行代码使用 os.rmdir() 函数删除 “我的Python书架” 文件夹。请注意,os.rmdir() 函数只能删除空文件夹。如果文件夹中存在文件或其他子文件夹,则删除操作将会失败。

所以在这段代码中,首先使用 os.mkdir() 函数创建了一个名为 “我的Python书架” 的文件夹。然后使用 os.rename() 函数将文件 “我的第一本Python书.txt” 移动到该文件夹中,并重命名为 “我的第一本Python书.txt”。最后,使用 os.rmdir() 函数删除了 “我的Python书架” 文件夹。

请确保在使用 os.rmdir() 函数删除文件夹之前,该文件夹是空的。如果文件夹中存在文件或其他子文件夹,删除操作将会失败。

遍历文件夹处理文件

当遍历文件夹中的文件时,你可以使用 os.listdir() 函数来获取文件夹中的所有文件和子文件夹的名称列表。然后,你可以使用 os.path.join() 函数将文件夹路径和文件名组合起来,得到文件的完整路径。接下来,你可以根据需要对文件进行处理。

以下是一个示例,演示了如何遍历文件夹中的文件并对每个文件进行处理:

import os

folder_path = '文件夹路径'

# 遍历文件夹中的文件
for filename in os.listdir(folder_path):
    file_path = os.path.join(folder_path, filename)
    
    # 检查文件是否是普通文件
    if os.path.isfile(file_path):
        # 在这里对文件进行处理,例如打印文件路径或进行其他操作
        print(file_path)

在示例中,我们使用了 os.listdir() 函数来获取文件夹中的所有文件和子文件夹的名称列表。然后,使用 os.path.join() 函数将文件夹路径和文件名拼接起来,得到完整的文件路径。接下来,我们使用 os.path.isfile() 函数检查文件路径是否对应一个普通文件,以避免处理子文件夹。

你可以根据需要在注释的位置上添加你具体的处理逻辑,例如对文件进行重命名、复制、删除等操作。注意,对文件进行处理时,请小心操作,确保文件操作符合你的需求,也确保你不会意外删除或修改重要的文件。

朋友们,看到了吗?有了Python,管理你的电脑文件就像玩乐高一样简单有趣。你可以创造、阅读、整理,甚至是删除文件和文件夹。从今天开始,让我们一起用Python带来秩序,让你的电脑桌面恢复宁静与秩序吧!记住,无论你想做什么,Python都是你最好的伙伴。下次见啦,未来的文件操作大师们!

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码免费领取保证100%免费

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

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

相关文章

C# WebSoket服务器

WebSocket是一种在单个TCP连接上进行全双工通信的协议WebSocket API也被W3C定为标准。 WebSocket使得客户端和服务器之间的数据交换变得更加简单, 允许服务端主动向客户端推送数据。在WebSocket API中, 浏览器和服务器只需要完成一次握手, 两者之间就直接可以创建持久性的连…

修复 Windows 上的 PyTorch 1.1 github 模型加载权限错误

问题: 在 Windows 计算机上执行示例 github 模型加载时,生成了 master.zip 文件的权限错误(请参阅下面的错误堆栈跟踪)。 错误堆栈跟踪: 在[4]中:en2de = torch.hub.load(pytorch/fairseq, transformer.wmt16.en-de, tokenizer=moses, bpe=subword_nmt) 下载:“https://…

spring Task 定时任务

导入maven坐标 spring-context&#xff08;已存在&#xff09; <dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.34</version> <!-- 请根据需要选择合适的版本 -->…

高质量数据赋能大模型应用落地,景联文科技提供海量AI大模型数据

随着人工智能技术的迅猛进步&#xff0c;AI算法持续创新突破&#xff0c;模型的复杂度不断攀升&#xff0c;呈现出爆炸性的增长态势。数据的重要性愈发凸显&#xff0c;已然成为AI大模型竞争的核心要素。 Dimensional Research的全球调研报告显示&#xff0c;72%的受访者认为&a…

【vim 学习系列文章 20 -- a:mode 的值有哪些?】

请阅读【嵌入式开发学习必备专栏 之 Vim】 文章目录 a:mode 的值有哪些?举例Vim 底部状态栏设置 a:mode 的值有哪些? 在 Vim 脚本语言中&#xff0c;a:mode 常常用于函数内部&#xff0c;以获取该函数被调用时 Vim 正处于的模式。它主常用于那些可以从不同模式下被调用的函数…

系统架构最佳实践 -- 构建高效教学平台系统

随着在线教育的迅速发展&#xff0c;教学平台系统成为了教育行业不可或缺的一部分。本文将总结构建高效教学平台系统的关键要素&#xff0c;并介绍最佳实践&#xff0c;以帮助教育机构和企业打造具有竞争力的教学平台系统。 引言&#xff1a; 随着信息技术的不断进步和普及&…

CMake 学习笔记2

其他很好的总结 CMake教程系列-01-最小配置示例 - 知乎 CMake 保姆级教程&#xff08;上&#xff09; | 爱编程的大丙 10-补充(完结)_哔哩哔哩_bilibili 1、基本关键字 SET命令的补充 &#xff08;1&#xff09;SET命令设置执行标准 #增加-stdc11 set(CMAKE_CXX_STANDARD…

如何使用Docker部署Django项目?

第一步&#xff1a;创建Dockerfile文件 在django项目的根目录中创建一个名为Dockerfile的文件&#xff0c;并写入如下配置&#xff1a; # 使用 Python 3.12 作为基础镜像 FROM python:3.12# 设置工作目录 WORKDIR /app# 复制项目文件到工作目录 COPY . /app# 设置清华 pip 镜…

LeetCode 1 in Python. Two Sum (两数之和)

两数之和算法思想很简单&#xff0c;即找到nums[i]和nums[j]target-(nums[i])返回[I, j ]即可。问题在于&#xff0c;简单的两层遍历循环时间复杂度为O()&#xff0c;而通过构建一个hash表就可将时间复杂度降至O(n)。本文给出两种方法的代码实现。 示例&#xff1a; 图1 两数之…

【数据结构与算法】:二叉树经典OJ

目录 1. 二叉树的前序遍历 (中&#xff0c;后序类似)2. 二叉树的最大深度3. 平衡二叉树4. 二叉树遍历 1. 二叉树的前序遍历 (中&#xff0c;后序类似) 这道题的意思是对二叉树进行前序遍历&#xff0c;把每个结点的值都存入一个数组中&#xff0c;并且返回这个数组。 思路&…

2023年度编程语言将花落谁家

2023年度编程语言将花落谁家 TIOBE的预测你预测年度最受欢迎的编程语言会是什么&#xff1f;TIOBE 认为 C# 最有可能成为年度编程语言&#xff0c;你同意吗&#xff1f;为什么&#xff1f;AI时代已经到来&#xff0c;你有学习新语言的打算吗&#xff1f; 以下是来自年度编程语言…

我与C++的爱恋:类与对象(二)

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;我与C的爱恋 ​ 本篇着重介绍构造函数和析构函数&#xff0c;剩余内容在下篇解答。 一、类的默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 任何类在什么都不写时…

PostgreSQL入门到实战-第二十六弹

PostgreSQL入门到实战 PostgreSQL中数据分组操作(一)官网地址PostgreSQL概述PostgreSQL中GROUP BY命令理论PostgreSQL中GROUP BY命令实战更新计划 PostgreSQL中数据分组操作(一) 如何使用PostgreSQL GROUP BY子句将行分组。 官网地址 声明: 由于操作系统, 版本更新等原因, 文…

力扣 | 24. 两两交换链表中的节点

两两交换链表中的节点 给定一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后的链表。 你不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进行节点交换。 输入&#xff1a;head 1->2->3->4->5->NULL 输出&#xff1a;2->1-&g…

缓存相关知识总结

一、缓存的作用和分类 缓存可以减少数据库的访问压力&#xff0c;提升整个网站的数据访问速度&#xff0c;改善数据库的写入性能。缓存可以分为两种&#xff1a; 缓存在应用服务器上的本地缓存&#xff1a;访问速度快&#xff0c;但受应用服务器内存限制 缓存在专门的分布式缓存…

区块链媒体推广的8个成功案例解析-华媒舍

区块链领域作为一个新兴行业&#xff0c;媒体推广对于项目的成功发展起着至关重要的作用。本文将从八个成功案例中来分析区块链媒体推广的重要性和成功策略。 1. 媒体报道对于区块链项目的重要影响 媒体报道是提升区块链项目知名度和用户认可度的重要手段。对于区块链项目来说…

C/C++基础----常量和基本数据类型

HelloWorld #include <iostream>using namespace std;int main() {// 打印cout << "Hello,World!" << endl;return 0; }c/c文件和关系 c和c是包含关系&#xff0c;c相当于是c的plus版本c的编译器也可以编译c语言c文件.cpp结尾.h为头文件.c为c语言…

Coursera吴恩达《深度学习》课程总结(全)

这里有Coursera吴恩达《深度学习》课程的完整学习笔记&#xff0c;一共5门课&#xff1a;《神经网络和深度学习》、《改善深层神经网络》、《结构化机器学习项目》、《卷积神经网络》和《序列模型》&#xff0c; 第一门课&#xff1a;神经网络和深度学习基础&#xff0c;介绍一…

InnoDB的使用限制有哪些

InnoDB的使用限制有哪些 以下是一些使用InnoDB在使用中的限制&#xff0c;包含InnoDb表&#xff0c;索引&#xff0c;表空间&#xff0c;和InnoDB存储引擎其他方面的各种限制。 一个表最多包含1017列字段&#xff0c;虚拟生成的列也包含在这个限制中。 每个表的元数据需要在…

2024连锁收银系统哪个好 有什么特点

在服装连锁店的经营中&#xff0c;选择一款优秀的收银系统至关重要。收银系统不仅仅是简单的结账工具&#xff0c;更是管理销售、库存和客户信息的关键平台。以下将介绍几款优秀的服装连锁店收银系统&#xff0c;以便您更好地了解各款系统的特点和优势。 1. 商淘云连锁店收银系…