Python基础之元组与文件知识总结

大纲

Python文件类型及汇总

一、元组

1 特征

1.任意对象的有序集合
2.通过下标访问
3.不可变
4.长度固定,任意类型,任意嵌套

>>> t = (1,2,3,4,5)
>>> t[0] = 2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

2 声明

(value1,value2,…)

3 操作

1.index(val):查找索引
2.count(val):统计数据

>>> t
(1, 2, 3, 4, 5)
>>> t.index(3)
2
>>> t.count(3)
1

元组代码

(1,2) #定义一个元组
(1, 2)
(1,2)+(3,4)#增加元组
(1, 2, 3, 4)

t=[1,2,3,4,5]
res=[x**2 for x in t] #计算出t中元素的平方并放在res中
res
[1, 4, 9, 16, 25]
t.index(3) #检索3的位置
2
t.count(3) #数元组t中3的个数
1

from collections import namedtuple #引入namedtuple给员工赋值
employee=namedtuple("employee",["named","age","department","salary"]) #定义一个员工模板
Jerry=employee("Jerry",30,"财务部","9000.00")#给名叫Jerry的员工赋值
Jerry
employee(named='Jerry', age=30, department='财务部', salary='9000.00')
Jerry.age #读取Jerry的年龄
30

注意事项:列表 元组的转换

元组解析

元组内部列表的修改

二、文件

1 基本语法

file = open(‘文件名',mode)

三种模式

mode:r ,w ,a

>>> myfile = open('hello.txt','w') #若没有,自动创建文件

2 操作

read、readlines、close方法

>>> myfile = open('hello.txt','w')
>>> myfile.write("你好啊,我叫赛利亚\n") #写操作
10
>>> myfile.close()
>>> f = open('hello.txt')
>>> f.read()
'你好啊,我叫赛利亚\n'
>>> f.read()
''
>>> f = open('hello.txt')
>>> f.readline()                      #readline一次读取一行,返回字符串
'你好啊,我叫赛利亚\n'
>>> f.readline()
''
>>> l = open('hello.txt').readlines() #readline一次读取全部行,返回列表
>>> l
['你好啊,我叫赛利亚\n']

with open() as …用于临时打开文件,结束后自动close释放资源(推荐这种用这种方式打开文件进行操作)

>>> f = open('hello.txt')
>>> f.read()
'你好啊,我叫赛利亚\n'
>>> f.read()
''
>>> f = open('hello.txt')
>>> f.readline()                      #readline一次读取一行,返回字符串
'你好啊,我叫赛利亚\n'
>>> f.readline()
''
>>> l = open('hello.txt').readlines() #readline一次读取全部行,返回列表
>>> l
['你好啊,我叫赛利亚\n']





文件权限

  • rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。一般用于 非文本文件如图片等。

注意:二进制文件把内容表示为一个特殊的 bytes 字符串类型。

# file = open("demo1/1.txt","rb")
file = open("demo1/1.png","rb")
ret = file.read()  #b'huangzhi'   huangzhi
print(ret)
file.close()

r+ 打开一个文件用于读写。文件指针将会放在文件的开头。

file = open("demo1/1.txt","r+")
# ret = file.read() #读取全部内容
# print(ret)
file.write("guyin") #从头写入,原有内容会逐渐被覆盖
file.close()
  • rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于 非文本文件如图片等。
  • wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
from demo1.img import img2
file = open("demo1/2.jpg","wb")
file.write(img2)
file.close()
  • w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即 原有内容会被删除。如果该文件不存在,创建新文件。
file = open("demo1/1.txt","w+")
file.write("hello world")
ret = file.read()
print(ret)
file.close()
  • a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。

也 就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件 进行写入。

#在demo1下的111.txt中追加“guyin”
# file = open("demo1/111.txt","a")
file = open("demo1/3.txt","a")
file.write("guyin")
file.close()
  • ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文 件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在, 创建新文件进行写入。
  • a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。
  • 文 件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
file = open("demo1/111.txt","a+")
file.write("yangyong")
ret = file.read()
print(ret)
file.close()
  • ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文 件的结尾。如果该文件不存在,创建新文件用于读写。

三、pickle存储和读取python对象

dump(对象,目标文件)
load(文件)

f = open('datafile.pkl','wb')
>>> import pickle
>>> d = {'a':1,'b':2}
>>> pickle.dump(d,f)
>>> f.close()

>>> f = open('datafile.pkl','rb')
>>> data = pickle.load(f)
>>> data
{'a': 1, 'b': 2}

四、类型汇总

到此这篇关于Python基础之元组与文件知识总结的文章就介绍到这了,更多相关Python元组与文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python批量将csv文件转化成xml文件的实例

    一.前言 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据.CSV文件由任意数目的记录组成,记录间以某种换行符分隔:每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符.通常,所有记录都有完全相同的字段序列,通常都是纯文本文件. 可扩展标记语言,标准通用标记语言的子集,简称XML.是一种用

  • Python 如何读取.txt,.md等文本文件

    看代码吧~ # example.md 1 2 3 4 5 6 7 8 9 >>> with open('example.md') as f: lines = f.readlines() >>> lines ['1 2 3\n', '4 5 6\n', '7 8 9\n'] # 我们发现每一行后面都会有一个回车符,我们使用strip()函数消除它 >>> lines = [i.strip() for i in lines] ['1 2 3', '4 5

  • python可视化hdf5文件的操作

    对于一些复杂的hdf5文件,通过可视化的方法可以比较容易的了解文件的内部结构,下面介绍基于python的一个hdf5文件的安装使用方法 1 安装vitables工具包 命令 pip install vitables 2 安装完成后在终端中使用命令 vitables 文件名.hdf5 最终实现hdf5文件的可视化,方便直观就像一层层打开文件夹一样 补充:python对于HDF5的操作 看代码吧~ import h5py #导入工具包 import numpy as np #HDF5的写入: img

  • 将Python代码打包成.exe可执行文件的完整步骤

    前言 有时候我们需要将自己写的代码打包成exe文件,给别人使用需要怎么办呢?以下将讲解Python代码如何打包成.exe文件. 1. 下载pyinstaller PyInstaller是一个十分有用的第三方库,它能够在Windows.Linux. Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理. 因为Python中有很多三方包,我们想要这些三方包也包含在里面就需要

  • python中读入二维csv格式的表格方法详解(以元组/列表形式表示)

    如何去读取一个没有表头的二维csv文件(如下图所示)? 并以元组的形式表现数据: ((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, 1.0, 180.0), (4.0, 0.0, 0.0, 180.0), (5.0, 0.0, 3.0, 178.0)) 方法一,使用python内建的数据处理库: #python自带的库 rows = open('allnodes.csv','r',encoding='utf-8').readl

  • Python文件名的匹配之clob库

    一.前言 既然在Pathlib库中提到了glob()函数,那么我们就专门用一篇内容讲解文件名的匹配.其实我们有专门的一个文件名匹配库就叫:glob. 不过,glob库的API非常小,但是仅仅应用于文件名的匹配绰绰有余.只要是在实际的项目中需要过滤,或者匹配一组文件,都可以使用该库进行操作. 二.通配符 星号(*) 话不多说,下面我们使用通配符来匹配文件名,示例如下: import glob for name in sorted(glob.glob('text/*')): print(name)

  • Python实现将元组中的元素作为参数传入函数的操作

    本文由Markdown语法编辑器编辑完成. 1. 需求: 现在有一个Python的需求需要实现: 就是实现连接一次数据库,就能够执行多条SQL语句,而且这个SQL语句是需要通过调用者将每一次执行的参数传入进来,组合成一条完整的SQL语句再去执行. 经过初步研究,传入参数时,通过数组的形式,数组中的每一个元素则是一个元组tuple(因为SQL中需要填入的参数可能是多个,所以需要通过元组的形式传入). 比如SQL语句的形式为: basic_sql = 'SELECT * FROM series se

  • Python文件基本操作实用指南

    文件的存储方式 在计算机中,文件是以 二进制的方式保存在磁盘上的 文本文件和二进制文件 文本文件 可以使用文本编辑软件查看 本质上还是二进制文件 二进制文件 保存的内容 不是给人直接阅读的,而是提供给其她软件使用的 二进制文件不能使用 文件编辑软件 查看 文件基本操作 操作文件的套路 在计算机 中要操作文件一共包含三个步骤: 1.打开文件 2.读.写文件 读 将文件内容读入内容 写 将内存内容写入文件 3.关闭文件 操作文件的函数/方法 序号 函数/方法 说明 1 open 打开文件,并且返回文

  • python 元组的使用方法

    元组--tuple 列表非常适合用于存储在程序运行期间可能变化的数据集. 列表是可以修改的,但元组是不可修改的 Python将不能修改的值称为不可变的,而不可变的列表被称为元组 1. 元组的创建和删除 (1)使用赋值运算符直接创建元组 语法: tuplename = (element1, element2, element3, ....) ​在Python中,元组使用一对小括号将所有的元素括起来,但是小括号不是必须的,只要将一组值用逗号分隔开,Python就可以使其为元组. verse = "渔

  • python空元组在all中返回结果详解

    我们可以把需要判断的对象放在程序中,那么执行出来会有两个结果,要么是真,要么为假.我们今天所要讲的all函数就是用来判断参数的程序,根据输入参数的不同,输出True或者False的结果.下面我们就all函数进行说明.语法等方面的了解, 然后通过实例探讨空元组的返回值结果. 1.说明: 接受一个可迭代器对象为参数,当参数为空或者不为可迭代器对象是报错 >>> all(2) #传入数值报错 Traceback (most recent call last): File "<p

  • python元组拆包实现方法

    1.说明 把元组一一对应拆出来,就叫做元组拆包.拆包有个要求,元组中的元素数量必须跟接受这些元素的空挡数一致,否则会报错: tuple_test = (1, 2, 3) a, b = tuple_test # ValueError: too many values to unpack (expected 2) 2.实例 _占位符 使用_占位符可以解决这个问题: tuple_test = (1, 2, 3) a, b, _ = tuple_test 这样就只获取到部分数据了,这在取函数返回值时特别

  • python中元组的用法整理

    元组:tuple 内部只有两个可以操作的函数[count()/index()],一个是查看一个数据在元组中出现的总数另一个是查看. 一个数据在元组中的位置,外部有一个默认的函数sorted可以针对元组进行排序,排序注意:使用系统默认排序,但是必须保证排序的数据他们的数据类型是一致的!与元组查询相关函数,可以直接操作,如:len()查看元组中元素的个数. 声明元组方式 Name = tuple() name = ("1","2","3") name

  • python 元组和列表的区别

    静态数据类型 静态数据类型是指不可以对该数据类型进行修改,即只读的数据类型.迄今为止学过的静态数据类型有字符串,元组. 在使用[]操作符对字符串,元组进行修改时,Python会抛出类型错误的异常信息,我们可以在交互模式中进行验证: >>> content = "static data type" >>> content[0]=S Traceback (most recent call last):  File "<stdin>&

  • 10个示例带你掌握python中的元组

    数据结构是任何编程语言的关键部分.为了创建强大而性能良好的产品,必须非常了解数据结构. 在本文中,我们将研究Python编程语言的重要数据结构,元组. 元组是用逗号分隔并括在括号中值的集合.与列表不同,元组的元素是不可变的.不变性可以视为元组的识别特征. 我将通过示例解释元组的功能和对其的操作. 一.创建元组 元组由括号中的值组成,并用逗号分隔开 a=(3,4) print (a) print (type(a)) # (3, 4) # <class 'tuple'> 元组可以存储不同数据类型的

  • python提取word文件中的所有图片

    前言 办公中,偶尔会碰到一种情况,需要提取word文档中的图片,决定写这样一款工具自动提取图片. 关于脚本的使用: 情景1:如果你拿到的是一个文件夹,所有的word文件都在这个文件夹的子目录下,深度为1层,你可以直接使用该脚本 情景2:如果你拿到的是一个文件夹,打开之后,里面杂乱无章的充斥着各种文件,你也不确定word文档都在哪,那么你需要使用Everything来手动提取出所有的word文档,虽然我也可以让脚本实现这个功能,但是使用脚本需要考虑到有可能存在同名文件,再处理起来代码量会更大,还是

  • Python namedtuple命名元组实现过程解析

    这篇文章主要介绍了Python namedtuple命名元组实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 命名元组(namedtuple)是一种带有属性的元组,它们是组合只读数据的很好的方式. 相比一般的元组,构造命名元组需要先导入namedtuple,因为它不在默认的命名空间里.然后通过名字和属性来定义一个命名元组.这会返回一个像类一样的对象,可以进行多次实例化. 命名元组可以被打包.解包以及做所有可以对普通元组做的事,并且还可

  • python中把元组转换为namedtuple方法

    我们可以把表里每一个横行的数据,看成是不同的元组.在理解了这个概念后,昨天我们学了不少的namedtuple类,是否也能把元组转换成namedtuple呢?当然这是一个尝试,很多小伙伴平时使用的时候会很少用到,而且资料的搜集方面也比较难找.小编也搜集了很久才有收获,本篇就为大家带来元组在python中转换为namedtuple的方法. 之前我们了解了为什么使用namedtuple,现在该学习如何将常规元组和转换为namedtuple了.假设由于某种原因,有包含彩色RGBA值的实例.如果要将其转换

随机推荐