乐趣Python——文件与数据:挥别乱糟糟的桌面
各位朋友们,今天我们要开启一场非凡的冒险——进入文件操作的世界!你知道吗,在你的电脑里,有一个叫做“文件系统”的迷宫,里面藏着各种各样的文件和文件夹,它们就像是迷宫中的宝藏。但有时候,这些宝藏会变得乱糟糟的,找起东西来就像是在玩一场没完没了的捉迷藏。不过不用担心,Python将成为你的秩序守护神,一键就能让你的桌面恢复宁静与秩序。让我们一起来学习如何成为这个神奇世界的主人吧!
文件操作:秩序,从这里开始
“告别那堆乱糟糟的文件,Python将成为你的秩序守护神,一键让桌面恢复宁静与秩序。”
文件操作的理论与定义
想象一下,你的电脑是一个巨大的图书馆,而文件就是图书馆里的书籍。我们可以阅读书籍(读取文件),可以把新买的书放进图书馆(创建和写入文件),还可以把不喜欢的书扔掉(删除文件),甚至可以给书换一个位置(移动和重命名文件)。Python在这个图书馆里就像是一个无所不能的图书管理员,可以帮你做所有这些事情。
文件是存储在计算机上的一组相关数据的集合。 文件操作是对这些文件进行管理和处理的一系列操作。
在Python中,我们可以使用内置的文件操作函数来进行文件操作。文件操作是处理计算机文件的过程,它可以让我们对文件进行创建、写入、读取和删除等操作,从而帮助我们在计算机上管理和处理数据。
文件操作有几个常用的函数,包括:
- open():打开文件并返回文件对象。
- close():关闭文件。
- read():读取文件中的内容。
- write():将数据写入文件。
- seek():移动文件指针到指定位置。
- tell():返回文件指针的当前位置。
- exists():检查文件是否存在。
- remove():删除文件。
- rename():重命名文件或移动文件。
- mkdir():创建文件夹。
- 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 osif os.path.exists("我的第一本书.txt"):os.remove("我的第一本书.txt")print("文件已成功删除!")
else:print("文件不存在!")
import os
:- 这行代码导入了 Python 的
os
模块,使我们可以使用其中的文件和目录操作函数。
- 这行代码导入了 Python 的
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 osif os.path.exists("我的第一本书.txt"):os.rename("我的第一本书.txt", "我的第二本书.txt")print("文件已成功移动或重命名!")
else:print("文件不存在!")
import os
:- 这行代码导入了 Python 的
os
模块,使我们可以使用其中的文件和目录操作函数。
- 这行代码导入了 Python 的
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 osos.mkdir("我的Python书架")
os.rename("我的第一本Python书.txt", "我的Python书架/我的第一本Python书.txt")# 删除文件夹,需要先删除文件夹中的文件,然后再删除文件夹。
os.rmdir("我的Python书架")
上面这段代码使用了 Python 的 os
模块来创建文件夹、将文件移动到文件夹中,并删除文件夹。让我逐行解释代码的作用:
import osos.mkdir("我的Python书架")
-
import os
:- 这行代码导入了 Python 的
os
模块,使我们可以使用其中的文件和目录操作函数。
- 这行代码导入了 Python 的
-
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 osfolder_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%免费
】
相关文章:

乐趣Python——文件与数据:挥别乱糟糟的桌面
各位朋友们,今天我们要开启一场非凡的冒险——进入文件操作的世界!你知道吗,在你的电脑里,有一个叫做“文件系统”的迷宫,里面藏着各种各样的文件和文件夹,它们就像是迷宫中的宝藏。但有时候,这…...
docker nginx-lua发送post json 请求
环境准备 dockerfile from fabiocicerchia/nginx-lua:1.25.3-ubuntu22.04 run apt-get -qq update && apt-get -qq install luarocks run luarocks install lua-cjson run luarocks install lua-iconv run luarocks install lua-resty-http后台代理服务准备ÿ…...

阿里面试总结 一
写了这些还是不够完整,阿里 字节 卷进去加班!奥利给 ThreadLocal 线程变量存放在当前线程变量中,线程上下文中,set将变量添加到threadLocals变量中 Thread类中定义了两个ThreadLocalMap类型变量threadLocals、inheritableThrea…...
多线程(49)定义无锁、阻塞、非阻塞和无等待算法
在并发编程中,理解不同的同步策略——无锁(Lock-Free)、阻塞(Blocking)、非阻塞(Non-Blocking)、无等待(Wait-Free)——对于设计高效、健壮的多线程应用至关重要。让我们…...
(一)ffmpeg 入门基础知识
一、ffmpeg FFmpeg是一套强大的开源音视频处理工具,能够录制、转换以及流化音视频内容。 FFmpeg是开源的,这意味着它的源代码是公开的,允许任何人使用、修改和分发。它提供了录制、转换以及流化音视频的完整解决方案,支持多种格…...

【软件测试】个人博客系统测试
个人博客系统测试 一、项目背景1.1 技术背景1.2 功能背景 二、 测试用例编写三、自动化测试3.1 什么是自动化测试3.2 通过使用selenium进行自动化测试的编写(Java实现)3.3 编写测试用例,执行自动化测试3.3.1 输入用户名:test,密码:123&#x…...

20240410解决OK3588-C的核心板刷机之后无法启动的问题
20240410解决OK3588-C的核心板刷机之后无法启动的问题 2024/4/10 19:38 1、编译OK3588的LINUX/Buildroot?forlinxubuntu: ~/3588/OK3588_Linux_fs$ sudo ./build.sh BoardConfig-linuxfs-ok3588.mk 2、进行全编译 forlinxubuntu: ~/3588/OK3588_Linux_fs$ sudo ./bu…...

仅需三步就能成为大语言模型Prompt Engineer提示词工程大神
AI Prompt Engineer(提示词工程)是当下GenAI行业最热门的话题,它是利用有效的AI模型交互提示技术,引导大语言模型生成更高质量、更准确、更相关的回应。相对于预训练和微调,提示词工程不需要标注数据和训练模型,极大的节约了时间和…...

RuleEngine规则引擎底层改造AviatorScript 之公式规则
前情提要,看上一个文章,具体要实现的效果就是 当然上来的问题就是前端的问题,这个框首先他们用的是富文本,富文本传到后台的结果是前端脚本,带着h5的标签,后面改成了这个,当时这个东西其实和后…...
Vue项目(H5)与微信小程序来回跳转
新建H5页面 在小程序里面新建一个名为H5的文件夹,以及H5页面 H5.WXML <web-view src"{{h5Url}}" bindmessage"handleGetMessage"></web-view>H5.JSdata: { h5Url:https://xxx.com/login 要跳转的H5页面},H5回来的回调方法handleG…...
设计模式-单一职责原则
基本介绍 对类来说的,即一个类应该只负责一项职责。如类A负责两个不同的职责,职责1,职责2.当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2 应用实例 方案1 public cl…...
vue和nunjucks的变量插值的形式{{}}冲突
Nunjucks 中修改配置 const nunjucks require(nunjucks);const template_old nunjucks.renderString(template_old: Hello, {{name}}!, { name: World }); console.log(template_old); // 配置 Nunjucks 环境 nunjucks.configure({tags: {variableStart: $(, // 设置变量起始…...

多语言婚恋交友APP开发流程一览
近年来,随着全球化的发展和人们对跨文化交流的需求增加,多语言婚恋交友APP的需求逐渐增长。开发这类APP需要考虑到不同语言和文化下用户的需求,涉及到一系列独特的流程和挑战。本文将从专家角度为您解析多语言婚恋交友APP的开发流程ÿ…...

RUM 最佳实践-交互延迟的探索与发现
FID 在互联网高速发展的时代,用户体验已成为企业竞争的关键所在。网页性能作为用户体验的重要组成部分,直接影响着用户的满意度和工作效率。First Input Delay(FID)作为衡量网页性能的重要指标,越来越受到业界关注。今…...

spring boot 集成 flyway依赖 做数据库迁移,让部署没烦恼
flyway 是一个敏捷工具,用于数据库的移植。采用 Java 开发,支持所有兼容 JDBC 的数据库。 主要用于在你的应用版本不断升级的同时,升级你的数据库结构和里面的数据。 还是直接上代码 第一步: <!-- Flyway 数据库迁移 依赖 他…...
TCP协议--传输机制
TCP协议原理 TCP协议是对数据传输提供的一个管控机制,主要体现在可靠和效率两个方面,即在保证数据可靠传输的情况下尽可能的提高效率 可靠传输机制 确认应答机制 向对方发送一个数据报,对方要返回一个确认应答的数据报 实现的方式&#x…...

句柄ros::NodeHandle nh(“~“)与nh对launch文件参数配置(param)的影响
ros::NodeHandle nh("~"); 改为: ros::NodeHandle nh; 即可 /*************************分割线 ************************/ 如果原本是: ros::NodeHandle nh;可以改成: ros::NodeHandle nh("~"); 试试...
C++_List的学习
1.概述 1. list 是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代 2. list 的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素 3. list…...

centos 7.9 nginx本地化安装,把镜像改成阿里云
1.把centos7.9系统切换到阿里云的镜像源 1.1.先备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup1.2.下载新的CentOS-Base.repo配置文件 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo特别…...

JVM规范中的运行时数据区
✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:每天一个知识点 ✨特色专栏:…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...