文件读写操作

article/2025/1/9 17:30:32

数据持久化

  1. 常见数据有文本文件、表格文件、pdf等。
  2. python操作文件
    操作文本文件:新建(或重命名) -->打开–>写数据–>保存关闭
    表格文件:新建–>打开–>写数据–>保存、关闭、重命名
    已有文件的读写可以直接打开读数据然后关闭即可。

一、 文件操作形式

以什么形式操作文件 : 读、写

编程中读写无法同时操作
r: 只读 当文件不存在时报错
w: 只写 当文件不存在时,先创建。文件存在时,先清空。
a: 追加,文件不存在,先创建。文件存在,继续添加内容。

以什么数据类型操作文件。

t: 字符串形式。 (如果选t,可以不写,默认为r)
b: 二进制形式。
一般计算机中存储的数据都是二进制形式存在的(图片、音频、视频等)

二、文件操作形式应该如何使用

从以什么形式操作文件和以什么数据类型操作文件各选其一组合使用。
例如:rt,rb,tr,br等,不写以什么数据类型操作文件时默认为字符串。

三、文件读操作

open(参数一,参数二,参数三,参数四)

  1. 参数一:文件路径、文件名(字符串形式)
  2. 参数二:文件操作模式(rt等)(字符串形式)
  3. 参数三:编码方式,无特殊情况均写为:encoding=‘utf-8’
  4. 参数四:换行方式,newline=‘’
    读操作不需要指定
    windows换行方式:\r\n;
    \r:将鼠标光标移动到下一行行首。
    因此windows会出现空行。
    mac: \r;
    linux: \n
  5. 文件路径分为:相对路径和绝对路径。
    绝对路径:一个文件存放在那个磁盘下的什么文件夹,一般尽量不用绝对路径。
    例如:r’D:\user\word\tese.txt’
    相对路径:以当前文件为参照物,另一个文件相对于他的位置。
    固定语法: . 表示当前目录(可以不写)
    … 表示返回上一级
    / 文件夹和文件夹之间以及文件夹和文件之间间隔的符号
# 以文件对象的形式打开已存在文件
file = open(r'test.txt','r',encoding='utf-8')# 读操作:read,readline,readlines
# read:全部读取,结果为字符串
# readline:读取一行
# readlines:读取全部行,结果为列表,每一行是列表中的每个元素
# 每次读取某一行后再读取为下一行,全部读完后在此读取为空行
result = file.read()
print(result)
file.close()
# 每次读操作结束之后一定要执行关闭文件操作。

四、文件写操作(读写操作编码方式需要一致否则会报错)

file =open(r'故事.txt','w',encoding='utf-8',neweline='')
# write:向文件写入内容
str1 = '静夜思\n唐 李白\n床前明月光\n疑是地上霜'
file.write(str1)file.close()
file =open('故事.txt','w',encoding='utf-8',newline='')
str2 = '\n举头望明月\n低头思故乡'
file.write(str2)
file.close()
# 由于是利用w方式写入,因此每次都会先清空原文件,可利用a方式追加
file =open('故事.txt','r',encoding='utf-8')
print(file.read())
file.close()

with的用法

预定义的清理操作:with
只要推出了with的缩进,直接执行清理操作,自动将文件关闭。

with open('故事.txt','r',encoding='utf-8') as file:result = file.readprint(result)
print(file.read())		# 不在with缩进,文件已关闭,读操作会出错。

eval方法

eval:将字符串序列化
eval中必须写长度非0的字符串
将引号中的数据转换为原本数据类型。
如果引号内还是一串字符串,且未被赋值,则会操作。

with open('evaltest.txt','w',encoding='utf-8',newline='') as file :file.write(1)	# 会报错,write里面只能写入字符串。

五、图片、视频的读写操作

file = open('1.jpg','rb')
result = file.read()
file.close()print(result)
# 读取图片二进制编码
# b'xxxx'二进制字节码
# 这里的写入方式就需要带上b,表示二进制写入。
# 否则默认为字符串方式写入。
file = open('2.jpg','wb')
file.write(result)
file.close()

六、csv文件操作

csv文件中的数据以表格形式展示,但是其中的原理是以文本文件的原理。
利用程序创建csv文件

import csv
csvfile = open('学生成绩.csv','w',encoding='utf-8')
# 先写列名,
csv.writer(csvfile).writerow(['编号','姓名','年龄','专业'])# writerow() --单行写入,wirterow中传递一个列表,列表表示一行,列表中的一个元素代表一个单元格的内容。
csv.writer(csvfile).writerows([
['python001','lisa','18','math'],
['python002','jack','19','history'],
['python003','ben','20','english']
])
# wrierows() --多行写入,也是传入一个列表,列表中元素数量代表写入行数。其中的每个元素就是表示一行内容的小列表。
csvfile.close()# csv文件的读操作file = open('学生成绩.csv','r',encoding='utf-8')
# csv.reader得到一个可迭代对象
data = csv.reader(file)
for i in data :print(i)
file.close()

根据酒店评分数据,加入平均分评分标准。

import csvfile = open('G:\数据库ppt\北京高档酒店价格分析.csv', 'r', encoding='utf-8',newline='')
data = csv.reader(file)
data1= [i for i in data]
list0 = ['平均评分']
for i in data1:if i[3]!='卫生评分' :avg = (eval(i[3] )+eval(i[4] ) + eval(i[5] )+ eval(i[6] )) / 4list0.append(avg)file.close()file = open('北京高档酒店价格分析2.csv', 'w', encoding='utf-8',newline='')for i in range(len(data1)):data1[i].append(list0[i])print(data1[i])
csv.writer(file).writerows(data1)
file.close()

补充

时空复杂度(时间复杂度和空间复杂度)

  1. 时间复杂度: 程序执行时花费时间
  2. 空间复杂度:程序执行时花费的内存
  3. 时间复杂度和空间复杂度是相互平衡的
文章来源:https://blog.csdn.net/Jasonx1/article/details/126232605
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://chatgpt.dhexx.cn/article/FNlacsU1.shtml

相关文章

文件的读写基本操作

一、文件是计算机中数据持久化存储的表现形式 读写文件标准操作格式1: 1、打开文件:file1 open(文件名,读写模式) 2、操作文件 3、关闭文件:file1.close()文件操作完毕后必须关闭,否则长期保持对文件的连接状态,造成…

最好懂的python文件读写(详解)

目录 1、文件读写的流程   2、文件读写的几种常见模式(你不清楚的知识点)   3、read、readline、readlines的区别   4、对于一个10G的大文件,怎么高效的查看文件中的内容呢? 1、文件读写的流程 1)类比windows中手动操作txt文档&#…

C/C++文件读写(最全方法,多种实现)

文章目录 前言一、文件处理过程二、C处理文件1.打开文件2.读文件4.写文件5.关闭文件 三、C处理文件四、Windows API处理文件五、ATL处理文件总结 C/C实战入门到精通 https://blog.csdn.net/weixin_50964512/article/details/125710864 前言 本章主要详解C/C对文件的所有常…

FTP如何设置用户名密码

1、新建FTP站点,指定名称和物理路径 2、“身份验证”选择 基本,“允许访问”选择 指定用户,下面文本框中输入“本地用户和组”中现有的一个用户名即可。 注意:只能是“本地用户和组”中的用户,自己指定的其他用户名无…

win10系统连接服务器的用户名多少,win10 ftp服务器 用户名和密码

win10 ftp服务器 用户名和密码 内容精选 换一换 CDM支持周期性自动将新增文件上传到OBS,不需要写代码,也不需要用户频繁手动上传即可使用OBS的海量存储能力进行文件备份。这里以CDM周期性备份FTP的文件到OBS为例进行介绍。例如:FTP服务器的to…

Windows下如何搭建FTP服务并且设置其用户名和密码

1. 为了设置用户名和密码,要做一些准备工作: 打开 右键 计算机-》管理-》本地用户和组 右键之后点击新用户: 设置你自己的用户名和密码,这个就是之后给ftp服务用的。 2. 控制面板-》程序和功能-》打开或关闭Windows功能&am…

win10 FTP服务器设置用户名和密码

设置FTP用户及密码之前,请先给电脑添加新的本地账户以及搭建本地ftp服务器。FTP用户及密码就是win10的账户名和密码。 win10添加新的本地账户:https://jingyan.baidu.com/article/b0b63dbf3b38d54a49307046.html 搭建本地FTP服务器:https://blog.csdn.net/feifei_Tang/arti…

用Metasploit破解ftp用户名和密码

Metasploit是渗透测试人员在世界各地的资源和工具,比较常用的命令: msfconsole——直接进入 show options——查看 set RHOSTS ip地址/段 use 路径 需要在虚拟机的2003版本下创建FTP服务 将字典密码文件加入到虚拟机的系统里边 命令 ——rz 查看ftp是…

win7修改ftp服务器密码,win7ftp服务器设置用户名密码设置

win7ftp服务器设置用户名密码设置 内容精选 换一换 登录云服务器的用户名和密码:Windows操作系统用户名:AdministratorLinux操作系统用户名:root如忘记登录密码,可通过 “ 重置密码 ” 功能设置新密码。 代码迁移工具进行代码迁移…

linux下的ftp登陆用户名和密码,Linux下实现ftp普通账号和vip账号限速

ftp工作流程: ftp回话包含了两个通道,控制通道和数据通道,ftp的工作有两种模式,一种是主动模式,一种是被动模式,以ftpserver为参照物,主动模式,服务器主动连接客户端传输,被动模式,等待客户端的连接 主动模式: ftp客户端连接到ftp服务器的21端口,发送用户名和密码,…

抓取FTP登录名和密码

R1配置IP地址 <H3C>system-view [H3C]sysname R1 [R1]int g0/0 [R1-GigabitEthernet0/0]ip address 1.1.1.1 24 R2配置IP地址 <H3C>system-view [H3C]sysname R2 [R1]int g0/1 [R2-GigabitEthernet0/0]ip address 1.1.1.2 24 R2开启FTP服务&#xff0c;创建用…

CentOS 7如何找回用户名和密码

当我们在使用CentOS 7系统时忘记了账号密码怎么办呢&#xff1f; 第一步 进入选择系统界面 选择你的操作系统 然后按e键进入 第二步 进入界面后添加代码并执行 如图所示 在UTF-8后面添加 init/bin/sh这段代码 之后按cltr x 执行进入命令行界面 第三步 如何查看你的用户名和…

用户名密码方式访问 FTP

前言 用户名密码方式访问 FTP。 简介 场景&#xff1a;ftp 和 www web 服务器相结合 公司内部现在有一台 FTP 和 WEB 服务器&#xff0c;FTP 的功能主要用于维护公司的网站内容&#xff0c;包括上传文件、创建目录、更新网页等等。公司现有两个部门负责维护任务&#xff0c…

Windows10系统怎么在电脑上搭建ftp服务器?ftp用户名密码忘了怎么查看?

1.从程序面板中选择:打开或关闭windows功能,勾选下面标红选框点击确定 2.我的电脑,鼠标右击选择【管理】,点击服务和应用程序,intent information services, 3.点击【网站】鼠标右击选择添加FTP站点管理,站点名称自己定义,物理路径自定义,点击下一步 4选择自己的IP

用户自己修改ftp服务器默认密码是什么,ftp服务器 改默认用户名和密码

ftp服务器 改默认用户名和密码 内容精选 换一换 支持2.2.T1、2.2.T2、2.2.T2.SPC100、2.2.T2.SPC200、2.2.T2.SPC300版本升级到2.2.T3版本。支持2.2.T3升级到2.2.1版本。支持2.2.T3、2.2.1升级到2.2.T4版本。支持2.2.T4、2.2.1升级到2.3.T10版本。联网状态下,系统会自动下载鲲…

实验二 简单网络命令和wireshark捕获FTP用户名密码

实验二 简单网络命令和wireshark捕获FTP用户名密码 预备知识 Wireshark&#xff08;前称Ethereal&#xff09;是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包&#xff0c;并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口&#xff0c;直接…

FTP-用户名密码明文传输

一、实验原理 FTP协议用于用户认证的过程中&#xff0c;客户端与服务器是通过明文进行交互信息的。 二、实验环境 目标主机&#xff1a;Win2K3 192.168.20.145 攻击主机&#xff1a;Kali2 192.168.20.133 三、实验过程 在Kali2上开启wireshark软件&#xff0c;抓取FTP数据…

python ftplib模块 爆破ftp登录用户名和密码

1.连接ftp服务器 import ftplib ftp ftplib.FTP() ftp.connect(192.168.50.130, 21) ftp.login("anonymous","") #用户为匿名&#xff0c;密码为空 list ftp.retrlines(list) #此时可以获得当前ftp目录下的所有文件的信息 print(list)运行结果&a…

FTP-用户名密码暴力破解

一、实验环境 目标主机&#xff1a;Win2K3 192.168.20.145 攻击主机&#xff1a;Kali2 192.168.20.133 二、实验过程 创建一个名为admin1的administrators的用户 使用medusa暴力破解ftp密码 -h&#xff1a;靶机的IP地址 -u&#xff1a;靶机用户名 -P&#x…

搭建ftp并设置用户名和密码

第一步&#xff1a;启用 IIS 服务 步骤一 : 打开控制面板 点击 "开始" &#xff08;或者按键盘上的微软徽标键&#xff0c;通常在左侧 Ctrl 键和 Alt 键之间&#xff09;&#xff0c;在打开的 "开始菜单" 中&#xff0c;点击 "控制面板"&#x…