with open()as filename

article/2025/11/6 7:33:58

使用文件用with的好处

1.会在运行完后自动关闭文件

2.很简单

打开文件并读取

 

with open('c.xls','r') as t1:content = t1.read()print(content)
with open('c.xls','r') as t1:content = t1.read()con = t1.readlines()print(content)print(con)

open参数的解释:

+:表示拥有读和写功能

r表示只读,如果变成r+,表示可读可写,不能创建文件

w表示可写,w+表示可读可写,文件不存在则创建,存在则覆盖原先内容,原则就是创建一个新文件

a可写,a+表示可读可写,文件不存在则创建,追加内容在原本数据的末尾

补充,因为readlines是一个列表,而每行都是列表的一个元素,这一行,可能非常长,比如下面这图,实际上是列表下标为0的值 ,需要用eval进行转化,才能成为一个“正常”的列表

-------------------------------------------

使用json文件读取和写入数据

 

import jsontry:with open('wxh.json', 'r') as filename:f = json.load(filename)  #读取json文件print ('your like number is :%s' % f)
except:dig = raw_input("输入你喜欢的数字:")with open('wxh.json','w') as filename:json.dump(dig,filename) #数据写入json文件

------------------------------------------------------------------------------------------------

如何进行逐行读取并在每次读取中进行操作

方法1:直接获取全文见,并使用for循环,好处是不需要使用readline,直接当做可迭代序列处理,简直太好用了

with open("文件名",'r') as t1:for line in t1:print(line.strip())

例子:

url:http://119.23.241.154:8080/futureloan/mvc/api/member/login,mobilephone:13760246701,pwd:123456
url:http://119.23.241.154:8080/futureloan/mvc/api/member/login,mobilephone:15678934551,pwd:234555
我有两行这样的数据,存在一个test_data.txt里面
要求如下:1:将每一行的数据存到一个字典里面,且url、mobilephone、pwd为key,对应key后面的值为value。然后讲读取的每行数据存储为字典后存到一个总的列表里面。返回总列表2:写成函数通过调用函数最后得到的数据为:[{'url': 'http://119.23.241.154:8080/futureloan/mvc/api/member/login','mobilephone': '13760246701', 'pwd': '123456'},{'url': 'http://119.23.241.154:8080/futureloan/mvc/api/member/login','mobilephone': '15678934551', 'pwd': '234555}]
'''
l1=[]
l2=[]
l3=[]
dic={}
with open('test_data.txt','r') as t1:for content in t1:content = content.strip()content = content.split(',')print(content)for i in content:l1.append(i.split(':')[0])l2.append(i.split(':', 1)[1])l3.append(dict(zip(l1, l2)))
print(l3)

方法2:使用readline,需要先读一行,再使用while,如果如果不是非要使用readline我才不用你

with open("文件名",‘r’) as t1:line = t1.readline()while line:print(line.strip())line = fh.readline()

----------------------------------------------

2020.5.9

with open 不适合打开excel文件,读取后都是报错,不过他能读取csv文件(编码格式是gbk)和txt,如果要读取excel还是用xlrd库

csv文件:

# -*- coding: UTF-8 -*-
with open("3.csv",encoding='gbk') as file1:data = file1.read()print (data)>>
看,看,了
1,2,3
4,5,6
是,发,个

-----------------------------------------------------


http://chatgpt.dhexx.cn/article/B8NYXPpJ.shtml

相关文章

__dirname和__filename

1. 概念 __dirname 可以用来动态获取当前文件所属目录的绝对路径__filename 可以用来动态获取当前文件的绝对路径,包含当前文件__dirname 和 __filename 是不受执行node命令所属路径影响的 2. 代码演示 目录结构 app.js文件,使用node app.js 命令执行…

Linux利用filename=${fileuser:-filename}设置文档名

该语句的意思是:如果输入fileuser的有值的话,将该值付给filename 如果在读入变量fileuser的时候直接回车,意思是fileuser里面没有值,那么将”filename”赋予给filename。 以《鸟哥的linux私房菜》chap13中为例,创建的…

Already included file name .......

vue项目修改.vue的文件名之后会发生引入文件时报错 类似于这样 解决办法: 快捷键:Ctrl shift P,打开:“命令面板”,输入:重新加载 详情请见:Already included file name。。。。。Root file…

source 命令的用法(与 sh Filename、./Filename的区别)

source 命令简单来说,就是读取脚本里的语句,并在当前Shell中执行,脚本里面所有新建、改变变量的语句都会保存在当前shell里。 目录 1、source 命令的使用方法 2、source命令的妙用 3、source Filename 和 ./Filename的区别 1、source 命令…

C++ #include expects “FILENAME“ or <FILENAME>

include 标签只能是 #include<FILENAME> 或者 #include "" 要加引号啊

matlab中的imread (line 340) fullname = get_full_filename(filename);

错误提示 错误原因 没有将运行的文件添加到路径中。 解决方法 右击运行文件的文件夹 2.点击添加到路径–>选定的文件夹和子文件夹 3.最后再次尝试运行&#xff0c;问题解决

Already included file name

Already included file name ‘c:/Users/Administrator/Desktop/test/src/components/detailList.vue’ differs from file name ‘c:/Users/Administrator/Desktop/test/src/components/detaillist.vue’ only in casing. The file is in the program because: Imported via ‘…

Linux常见命令-1

一、tail命令 1、参数&#xff1a;tail -f filename 说明&#xff1a;查看filename文件的尾部内容&#xff0c;默认10行&#xff0c;相当于增加参数 -n 10&#xff0c;刷新显示在屏幕上。 示例&#xff1a; 2、参数&#xff1a;tail -n 20 filename 说明&#xff1a;显示file…

(九)Python:文件操作

一、读写文件 Python中使用open(filename,mode)执行打开文件操作。 filename&#xff1a;filename 变量是一个包含了你要访问的文件名称的字符串值。mode&#xff1a;mode决定了打开文件的模式&#xff1a;只读&#xff0c;写入&#xff0c;追加等。所有可取值见如下的完全列…

关于 __dirname和__filename介绍以及使用场景

在每个模块中除了 require &#xff0c;exports 等模块相关 API之外&#xff0c;还有两个特殊的成员&#xff1a; __dirname&#xff1a;用来动态获取当前文件模块所属目录的绝对路径__filename&#xff1a;用来动态获取当前文件的绝对路径 示例&#xff1a; 现有如下一个问题…

AQS的一个cancleAcquire方法,能看到Doug Lea大神的多少细节?

目录 写在前面一、调用时机二、源码分析2.1 node为tail2.2 node为中间节点2.2.1 N2的取消逻辑2.2.2 N3继N2之后取消 2.3 node是头结点的后继节点2.4 并发取消的场景 三、思考与总结 写在前面 第一次读AQS源码时&#xff0c;对cancleAcquire的理解比较肤浅&#xff08;停留在方…

leaq c 汇编语言,汇编语言lea指令使用方法解析

这篇文章主要介绍了汇编语言lea指令使用方法解析,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 lea指令变种(按大小分类): leaw #2个字节 leal #4个字节 leaq #8个字节 lea的用法: leaq a(b, c, d), %rax 首先…

微机原理——指令系统——传送类指令(MOV、LEA、LDS、LES、LAHF、SAHF、XCHG、XLAT、PUSH、POP、PUSHF、POPF)

博主联系方式&#xff1a; QQ:1540984562 QQ交流群&#xff1a;892023501 群里会有往届的smarters和电赛选手&#xff0c;群里也会不时分享一些有用的资料&#xff0c;有问题可以在群里多问问。 【没事儿可以到我主页看看】https://blog.csdn.net/qq_42604176 传送类指令 1&am…

汇编指令lea 和 mov 区别

刚开始学汇编都会接触到指令lea 和mov&#xff0c;但是这两个指令用法看起来很像&#xff0c;会经常误以为两者其实没有很大区别&#xff0c;甚至会误认为两者就是相等的&#xff0c;笔者本人也是很迷&#xff0c;而且书上对lea的讲解又十分有限&#xff0c;但是通过不懈的知识…

x86 LEA 指令

友链 参考链接&#xff1a; https://stackoverflow.com/questions/1658294/whats-the-purpose-of-the-lea-instruction 在使用OllyDBG反汇编一个exe的时候&#xff0c;看到了这样的代码 这部分对应的源代码应该是&#xff1a; return 2*xy;明明是一个乘法和加法运算&#x…

数据传送类指令(PUSH,POP,LEA)

目录 数据传送类指令 堆栈的概念&#xff1a; 进栈指令 &#xff08;PUSH&#xff09; 出栈指令&#xff08;POP&#xff09; 练习 LEA取偏移地址&#xff08;有效地址EA&#xff09;指令&#xff08;去括号&#xff09; LEA和OFFSET区别&#xff1a; 用法注意 LEA和MO…

汇编:lea指令学习

加载有效地址&#xff08;load effective address&#xff09;指令就是lea,他的指令形式就是从内存读取数据到寄存器&#xff0c;但是实际上他没有引用内存&#xff0c;而是将有效地址写入到目的的操作数&#xff0c;就像是C语言地址操作符&一样的功能&#xff0c;可以获取…

汇编中的lea指令的作用,简单清晰明了不废话!

首先看一下intel开发手册上对lea的官方解释&#xff1a; lea&#xff0c;官方解释Load Effective Address&#xff0c;即装入有效地址的意思&#xff0c;它的操作数就是地址&#xff1b; 常见的几种用法&#xff1a; 1、lea eax&#xff0c;[addr] 就是将表达式addr的值放入…

设计模式

简介 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式可以提高代码的可复用性、可维护性、可读性、稳健性以及安全性。 项目中合理地运用设计模式可以完美地解决很多问题&#xff0c;但滥用设计模式不但不会带来任何好处&#x…

设计模式选择题复习

1.在UML提供的图中&#xff0c;&#xff08; &#xff09;用于描述系统与外部系统及用户之间的交互 A&#xff0e;用例图 B&#xff0e;类图 C&#xff0e;对象图 D&#xff0e;部署图 2.在UML提供的图中&#xff0c;&#xff08; &#xff09;用于按时间顺序描述对象之间的交…