当前位置: 首页 > news >正文

做网站用的系统/seo深圳优化

做网站用的系统,seo深圳优化,抖音搜索排名,WordPress 文章 内容 滚动目录 一、访问模式 1.1 r 1.2 w 1.3 1.3.1 r 1.3.2 w 1.3.3 a 1.4 a 一、访问模式 模式可做操作若文件不存在是否覆盖r只能读报错-r可读可写报错是w只能写创建是w可读可写创建是a只能写创建否,追加写a可读可写创建否,追加写 1.1 r r&…

目录

一、访问模式

1.1  r

1.2  w

1.3  + 

1.3.1 r+

1.3.2 w+

1.3.3 a+

1.4 a



一、访问模式

模式可做操作若文件不存在是否覆盖
r只能读报错-
r+可读可写报错
w只能写创建
w+可读可写创建
a只能写创建否,追加写
a+可读可写创建否,追加写

1.1  r

r:只读模式(默认模式),文件必须存在,不存在就会报错

以下是关于这种模式的一些关键点:

只读模式:使用'r'模式打开文件时,您只能读取文件的内容,不能写入或修改它

文件必须存在:在尝试以 'r' 模式打开文件之前,该文件必须已经存在于文件系统中。如果文件不存在,open()函数将抛出一个FileNotFoundError异常 

默认模式:如果您在调用open()函数时没有指定模式参数,Python将默认使用'r'模式

异常处理:由于文件可能不存在,因此通常建议在尝试打开文件时使用异常处理来捕获FileNotFoundError,从而避免程序因未处理的异常而崩溃

首先我们在 py1文件夹中新建一个文件名为 example.txt,如下图所示:


eg: 

f = open('example.txt','r')  # 默认就是r
f.write('...')
f.close()
# 报错,使用'r'模式打开文件时,您只能读取文件的内容,不能写入或修改它

下面是一个使用 'r' 模式打开文件的示例,包括异常处理:

try:# 尝试以只读模式打开文件with open('example.txt', 'r', encoding='utf-8') as file:# 读取文件内容content = file.read()# 处理文件内容print(content)
except FileNotFoundError:# 如果文件不存在,则打印错误消息print("The file 'example.txt' does not exist.")

在这个示例中,我们使用了try...except语句来捕获FileNotFoundError异常,并在文件不存在时打印一条错误消息

使用with语句可以确保文件在读取后被正确关闭,即使在读取过程中发生异常也是如此

1.2  w

w:只写模式。文件存在就会先清空文件内容,再写入添加内容,不存在就创建新文件

关于 'w' 模式的一些详细解释:

只写模式:在这种模式下,文件被打开仅用于写入。尝试从文件中读取内容将会失败,并可能引发

异常(尽管在 'w' 模式下通常不会尝试读取)

清空文件内容:如果指定的文件已经存在,'w' 模式会截断(即清空)该文件的所有内容。这意味着文件将变得为空,然后您可以开始写入新的内容

创建新文件:如果指定的文件不存在,'w' 模式将创建一个新文件,并允许您向其中写入内容

使用场景:'w' 模式适用于您想要覆盖文件的现有内容,或者当您确信文件内容不再需要并且想要

写入全新内容的场景

下面是一个使用 'w' 模式的示例:

# 假设 example.txt 文件已经存在,并且包含一些内容
try:with open('example.txt', 'w', encoding='utf-8') as file:# 这将清空 example.txt 的内容,并写入新的内容file.write("This is the new content of the file.\n")
except IOError as e:# 捕获并处理可能发生的 IO 错误print(f"An error occurred: {e}")

在这个示例中,example.txt 文件的内容将被清空,并替换为 "This is the new content of the file.\n"

如果 example.txt 文件不存在,它将被创建,并包含这段新内容

请务必小心使用 'w' 模式,因为一旦文件被打开并写入,其原有内容将无法恢复。如果您只是想向文件追加内容而不清空它,应该使用 'a'(追加)模式

1.3  + 

+ :表示可以同时读写某个文件

注意:使用 + 会影响文件的读写效率,开发过程中更多时候会以只读、只写的方式来操作文件

r+ :可读写文件,文件不存在就会报错

w+ :先写再读,文件存在就重新编辑文件,不存在就创建新文件

1.3.1 r+

含义:表示以读写模式打开一个文件。这意味着你可以同时读取文件的内容和向文件中写入新的内容或修改现有内容。

文件存在性:文件必须已经存在。如果尝试用 r+ 模式打开一个不存在的文件,Python会抛出一个 FileNotFoundError 异常。

指针位置:当文件以 r+ 模式打开时,文件的读写指针(也称为文件指针或文件游标)位于文件的开头。这意味着如果你立即开始写入,新内容会覆盖文件开头的内容。

使用场景:适用于需要同时读取和修改文件内容的场景。

eg:以下是一个使用 r+ 模式打开文件并修改其内容的示例(涉及到文件指针,在下文中会讲述)

# 假设有一个名为 'example.txt' 的文件,其内容为 "Hello, World!"try:with open('example.txt', 'r+') as file:# 读取文件的前几个字符content = file.read(5)  # 读取 "Hello"print("读取的内容:", content)# 将文件指针移动到文件的开头file.seek(0)# 写入新的内容到文件开头,覆盖原有内容file.write("Hi!")# 将文件指针移动到文件末尾,并添加新的内容file.seek(0, 2)  # 0表示相对于文件末尾,2表示文件末尾file.write(", Python!")# 再次读取整个文件内容以显示修改file.seek(0)modified_content = file.read()print("修改后的内容:", modified_content)except FileNotFoundError:print("文件不存在,无法以 r+ 模式打开。")

输出内容为:

读取的内容: Hello
修改后的内容: Hi!lo, World!
This is a new file or an overwritten one.
, Python!

 注意:

1、使用 r+ 模式时要小心,因为写入操作可能会覆盖文件中的现有内容

2、如果只是想读取文件而不打算修改它,使用 r 模式更为合适

3、如果文件不存在但需要创建它并写入内容,应使用 w 或 w+ 模式

4、如果需要在文件末尾追加内容而不覆盖现有内容,使用 a 或 a+ 模式

1.3.2 w+

含义:表示以读写模式打开一个文件,但会先清空文件内容(如果文件已存在)。这意味着,当你以 w+ 模式打开文件时,文件中的所有现有数据都会被删除,然后你可以开始写入新的数据。写入后,你还可以读取这些数据或文件中后续添加的数据

文件存在性:

如果文件已存在,其内容会被清空,然后你可以开始新的读写操作

如果文件不存在,会创建一个新文件,然后你可以开始读写操作

指针位置:当文件以 w+ 模式打开时,文件的读写指针位于文件的开头,但此时文件是空的(因为

原有内容已被清空)

使用场景:适用于需要完全覆盖文件内容的场景,同时还需要在写入后读取文件内容的场景

eg:以下是一个使用 w+ 模式打开文件、写入内容并读取它们的示例

# 假设我们要创建一个名为 'example.txt' 的文件,或覆盖一个已存在的同名文件with open('example.txt', 'w+') as file:# 写入内容到文件file.write("Hello, World!\n")file.write("This is a new file or an overwritten one.\n")# 将文件指针移动到文件的开头以读取内容file.seek(0)# 读取并打印文件内容content = file.read()print("文件内容:")print(content)

输出为:

文件内容:
Hello, World!
This is a new file or an overwritten one.

注意:

1、使用 w+ 模式时要非常小心,因为它会清空文件中的所有现有内容。如果你只是想在文件末尾追加内容,应该使用 a 或 a+ 模式

2、在写入数据后,如果你想读取这些数据,你需要使用 seek() 方法将文件指针移动到文件的开头或你希望读取的位置

3、由于 w+ 模式会清空文件内容,因此它通常用于需要完全替换文件内容的场景。如果你只是想修改文件的一部分内容,可能需要先读取整个文件,修改所需的部分,然后再将修改后的内容写回文件(这通常涉及到使用临时文件或内存中的数据结构来存储修改后的内容)

1.3.3 a+

含义:表示以读写模式打开一个文件,但所有的写入操作都会发生在文件末尾,即追加内容。同时,该模式也允许读取文件的内容(在 'a' 模式下,只能进行写入操作,不能进行读取操作)

文件存在性:

如果文件已存在,写入操作会在文件末尾追加内容,而不会覆盖或删除文件中的现有数据

如果文件不存在,会创建一个新文件,然后你可以开始追加内容和读取操作

指针位置:当文件以 'a+' 模式打开时,文件的读写指针默认位于文件的末尾,因此如果立即进行读取操作,你将从文件的末尾开始读取(通常什么也得不到,除非之前已经写入了内容并又将指针移回了文件的开头或中间)

使用场景:适用于需要在文件末尾追加内容,同时还需要读取文件内容的场景

eg:以下是一个使用 'a+' 模式打开文件、追加内容并读取它们的示例

# 假设我们有一个名为 'example.txt' 的文件,或者我们将创建一个这样的文件# 首先,我们可能想以写入模式(例如 'w+')创建或覆盖文件,并写入一些初始内容
# 但为了这个示例的完整性,我们假设文件已经存在或我们将通过 'a+' 模式创建它with open('example.txt', 'a+') as file:# 追加内容到文件末尾file.write("This is an appended line.\n")# 由于写入后指针仍在文件末尾,我们需要将其移动回文件的开头以读取内容file.seek(0)# 读取并打印文件内容content = file.read()print("文件内容:")print(content)

输出内容:

文件内容:
Hi!lo, World!
This is a new file or an overwritten one.
, Python!This is an appended line.

1.4 a

在Python的文件操作中,'a' 模式被称为追加模式。这个模式允许你在一个已存在的文件末尾添加新的内容,而不会覆盖或删除文件中的现有数据。如果指定的文件不存在,使用 'a' 模式会创建一个新文件,并在其中开始写入数据。

追加内容:所有写入操作都会发生在文件的末尾,这意味着你不会丢失文件中的任何现有数据

文件存在性:

如果文件已存在,写入操作会追加到文件末尾

如果文件不存在,会创建一个新文件

读取限制:在标准的 'a' 模式下,你不能读取文件的内容。如果你需要读取文件,应该使用 'a+' 模式

文件指针位置:当文件以 'a' 模式打开时,文件指针默认位于文件末尾,准备进行写入操作

使用场景:

1、当你需要向一个日志文件、数据收集文件或任何需要持续追加新内容的文件中添加信息时,'a' 模式非常有用

2、适用于不需要读取文件内容,只需在文件末尾添加新数据的场景

eg:以下是一个使用 'a' 模式打开文件并追加内容的示例

# 假设我们有一个名为 'example.txt' 的文件,或者我们将创建一个这样的文件with open('example.txt', 'a') as file:# 追加内容到文件末尾file.write("This is a new log entry.\n")# 注意:在 'a' 模式下,你不能直接读取文件内容# 如果你需要读取内容,应该使用 'a+' 模式并在读取前使用 seek() 方法

此刻在 example.txt 文件中新增了:This is a new log entry.


今天的分享就到这里了,希望能帮助到大家~

相关文章:

Python小白学习教程从入门到入坑------第二十九课 访问模式(语法进阶)

目录 一、访问模式 1.1 r 1.2 w 1.3 1.3.1 r 1.3.2 w 1.3.3 a 1.4 a 一、访问模式 模式可做操作若文件不存在是否覆盖r只能读报错-r可读可写报错是w只能写创建是w可读可写创建是a只能写创建否,追加写a可读可写创建否,追加写 1.1 r r&…...

使用 PageHelper 在 Spring Boot 项目中实现分页查询

目录 前言1. 项目环境配置1.1 添加 PageHelper 依赖1.2 数据库和 MyBatis 配置 2. 统一的分页响应类3. 使用 PageHelper 实现分页查询3.1 Service 层分页查询实现3.2 PageHelper 分页注意事项 4. 控制层调用示例5. 常见问题与解决方案5.1 java.util.ArrayList cannot be cast t…...

深度学习-张量相关

一. 张量的创建 张量简介 张量是pytorch的基本数据结构 张量,英文为Tensor,是机器学习的基本构建模块,是以数字方式表示数据的形式。 例如,图像可以表示为形状为 [3, 224, 224] 的张量,这意味着 [colour_channels, h…...

电脑提示xinput1_3.dll丢失怎么解决,分享6种有效的解决方法

xinput1_3.dll 是一个动态链接库(DLL)文件,它在Windows操作系统中扮演着重要的角色,特别是在处理游戏控制器和其他输入设备的交互方面。这个文件是Microsoft DirectX软件包的一部分,DirectX是微软公司开发的一个多媒体…...

【计网】数据链路层笔记

【计网】数据链路层 数据链路层概述 数据链路层在网络体系结构中所处的地位 链路、数据链路和帧 链路(Link)是指从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。 数据链路(Data Link)是基于链路的。当在一条链路上传送数据时&a…...

蓝牙FTP 协议详解及 Android 实现

文章目录 前言一、什么是蓝牙 FTP 协议?二、FTP 的工作流程1.蓝牙设备初始化2. 设备发现与配对3. 建立OBEX FTP 连接4. 文件传输文件上传(通过OBEX PUT命令)文件下载(通过OBEX GET命令) 5. 关闭OBEX会话 三、进阶应用与…...

【前端】Svelte:动画效果

在现代前端开发中,动画效果可以大大提升用户体验,使应用更生动、易用。Svelte 提供了灵活的动画 API,让开发者能够快速实现从简单过渡到复杂动画的各种效果。本文将系统性地介绍 Svelte 的动画功能,并通过多个示例演示如何创建动感…...

2024系统架构师--论基于架构的软件设计方法(ABSD)及应用(论文范文)

题目: 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架…...

ORU 的 Open RAN 管理平面 (M 平面)

[TOC](ORU 的 Open RAN 管理平面 (M 平面)) ORU 的 Open RAN 管理平面 (M 平面) https://www.techplayon.com/open-ran-management-plane-m-plane-for-open-radio-unit/ ORU M 平面 在 ORAN 中,设置参数的 O-RU 管理功能是通过 M-Plane 完成的。管理功能包括 O-…...

软件缺陷等级评定综述

1. 前言 正确评估软件缺陷等级,在项目的生命周期中有着重要的作用: 指导缺陷修复的优先级和资源分配 在软件开发和维护过程中,资源(包括人力、时间和资金)是有限的。通过明确缺陷的危险等级,可以帮助团队合…...

Nuxt.js 应用中的 schema:extend事件钩子详解

title: Nuxt.js 应用中的 schema:extend事件钩子详解 date: 2024/11/10 updated: 2024/11/10 author: cmdragon excerpt: schema:extend 钩子使开发者能够扩展默认数据模式,为特定业务需求添加自定义字段和验证。 categories: 前端开发tags: Nuxt钩子数据扩展自定义验证应…...

自然语言处理在客户服务中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 自然语言处理在客户服务中的应用 自然语言处理在客户服务中的应用 自然语言处理在客户服务中的应用 引言 自然语言处理概述 定义…...

OpenCoder:首个完全开源的顶级代码大模型,训练秘籍全公开!| LLM×MapReduce,无需训练就超越GPT-4!

大模型领域的发展日新月异,每天都有许多有趣的论文值得深入品读。下面是本期觉得比较有意思的论文: 1、OpenCoder:首个完全开源的顶级代码大模型,训练秘籍全公开!2、超长文本处理新突破!LLMMapReduce&…...

springboot静态资源映射不生效问题

最近有个同事问我,静态资源映射不生效的问题,很正常我想不就是配置下资源路径就可以了吗?类似配置如下代码 Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addResourceHandlers(ResourceHandlerR…...

通过 SSH 隧道将本地端口转发到远程主机

由于服务器防火墙,只开放了22端口,想要通过5901访问服务器上的远程桌面,可以通过下面的方式进行隧道转发。 一、示例命令 这条代码的作用是通过 SSH 创建一个 本地端口转发,将你本地的端口(5901)通过加密的 SSH 隧道连接到远程服务器上的端口(5901)。这种方式通常用于在…...

【北京迅为】itop-3588开发板摄像头使用手册Android12 双摄方案

本章节对应资料在网盘资料“iTOP-3588 开发板\02_【iTOP-RK3588 开发板】开发资料 \07_Android 系统开发配套资料\08_Android12 摄像头使用配套资料”目录下下载。 2.1 Android12 前摄后摄 网盘中默认的 Android12 源码支持四个摄像头单独打开,本小节我们来修改源码…...

初见Linux:基础开发工具

前言: 这篇文章我们将讲述Linux的基本开发工具,以及讨论Linux的生态圈,最后再了解vim开发工具。 Yum: YUM(Yellowdog Updater Modified)是一个在Linux系统中用于管理软件包的工具,特别是在基于…...

微服务架构面试内容整理-分布式配置管理-Nacos Config

Nacos Config 是 Nacos 提供的一个配置管理功能,专门用于动态管理应用的配置。在微服务架构中,Nacos Config 允许开发者集中管理和动态更新各个服务的配置,从而提升系统的灵活性和可维护性。以下是 Nacos Config 的主要特点、工作原理和使用场景: 主要特点 1. 动态配置管理…...

React官网生成Recat项目的区别

1. Next.js 特点: 页面级路由:使用文件系统路由,基于 /pages 文件夹的结构自动创建 URL 路径。渲染模式:支持三种渲染模式:静态生成 (SSG)、服务器端渲染 (SSR) 和客户端渲染 (CSR),并允许根据页面的具体需…...

网络安全---安全见闻

网络安全—安全见闻 拓宽视野不仅能够丰富我们的知识体系,也是自我提升和深造学习的重要途径!!! Web程序(网站) web站点、app都属于Web程序 二进制程序 与逆向分析挂钩 驱动程序 驱动程序也属于软件,以Windows系统…...

在 CSS 中,gap 是 布局容器(flex 或 grid)的属性。它用于设置容器内子元素之间的间距。

在 CSS 中,gap 是 布局容器(flex 或 grid)的属性。它用于设置容器内子元素之间的间距。以下是 gap 属性在不同布局中的应用: 1. 在 CSS Grid 布局中 gap 定义了网格行和列之间的间距。可以分别使用 row-gap 和 column-gap 设置行…...

[zotero]Ubuntu搭建WebDAV网盘

搭建Ubuntu Apache WebDAV网盘的综合步骤,使用666端口: 安装Apache和WebDAV模块: sudo apt update sudo apt install apache2 sudo a2enmod dav sudo a2enmod dav_fs创建WebDAV目录: sudo mkdir /var/www/webdav sudo chown www-d…...

力扣17-电话号码的数字组合

力扣17-电话号码的数字组合 思路代码 题目链接 思路 原题: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 输…...

如何处理模型的过拟合和欠拟合问题

好久没有写人工智能这块的东西了,今天正好在家休息,给大家分享一下最近在训练时遇到的过拟合和欠拟合的问题,经过仔细的思考,总结如下: 在处理模型的过拟合和欠拟合问题时,我们需要根据具体情况采取不同的…...

CSRF详解

CSRF,全称是Cross-Site Request Forgery,即跨站请求伪造,也被称为“one click attack”或者session riding,是一种网络攻击方式。它允许攻击者诱导用户在已登录的Web应用程序上执行非预期的操作。 工作原理CSRF攻击通常涉及三个主…...

C# winform 的数据采集,采集周期是间隔10ms、100ms等等,但始终都有1ms的误差,并不是精准的10ms,哪些原因呢

C# winform 的数据采集,采集周期是间隔10ms、100ms等等,但始终都有1ms的误差,并不是精准的10ms,哪些原因呢 在C# WinForms应用程序中进行数据采集时,如果遇到采集周期存在1ms误差的问题,可能的原因包括&am…...

【国内中间件厂商排名及四大中间件对比分析】

国内中间件厂商排名 随着新兴技术的涌入,一批国产中间件厂商破土而出,并在短时间内迅速发展,我国中间件市场迎来洗牌,根据市占率,当前我国中间件厂商排名依次为:东方通、宝兰德、中创股份、金蝶天燕、普元…...

qt QLocale详解

1、概述 QLocale是Qt框架中的一个类,用于处理与本地化相关的操作。它能够方便地实现日期、时间、数字和货币的格式化和解析,支持不同的语言、区域设置和字符集。QLocale提供了一种跨平台的方式来获取当前系统的语言设置,并返回该语言的本地化…...

Node.js简介以及安装部署 (基础介绍 一)

Node.js简介 Node.js是运行在服务端的JavaScript。 Node.js是一个基于Chrome JavaScript运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。 Node.…...

unity实习面

天津小厂 23分钟 下午三点约的面 一直到三点15才面上 估计前边也是在面别人然后面的时间有点长了 唉小厂也是一堆人 上来直接说看项目代码 给看了一下经典tankgame 主要是问了一些其中的代码是什么意思 然后问对象池怎么用 答:光知道不会用 问生命周期函数 得…...