python基础(集合,文件操作)

一.集合(set)

集合:1.无序的,不重复的

   2.他里面的元素必须是可哈希的. int str bool () ,但是它本身是不可哈希的.

     3.集合不能更改里面的元素

     4.集合可以求交集,并集,差集,反交集等.

1.集合的创建

set1 = set({1,2,‘alex‘})
set2 = set1
print(set1,set2)
# 输出结果:{1, 2, ‘alex‘} {1, 2, ‘alex‘}

2.集合的增(2种方式)

1.set1.add()(直接增加)
set1 = {1,3,‘alex‘,2}
# set1.add(‘taibai‘)
# print(set1)
# 输出结果:{1, 2, 3, ‘taibai‘, ‘alex‘}

2.set1.update()(迭代增加)
set1.update(‘abc‘)
print(set1)
# 输出结果:{1, 2, 3, ‘c‘, ‘b‘, ‘a‘, ‘alex‘}

3.集合的删(4种方式)

set1 = {1,3,‘alex‘,2}

1.set1.pop()   (随机删除,所以()内不用写)
set1.pop()
print(set1)

2.set1.remove(2)  (删除元素)
print(set1)

3.set.clear()   (清空集合)
set1.clear()
print(set1)
输出结果:set()

4.del set1(删除集合)

4.集合的查

通过for循环查找

set1 = {1,3,‘alex‘,2}
for i in set1:
    print(i)

5.集合的其他操作

  5.1交集  ( & 或者 intersection)

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 & set2)                 #{4, 5}
print(set1.intersection(set2))

  5.2并集  ( |  或者 union)

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 | set2)                 #{1, 2, 3, 4, 5, 6, 7, 8}
print(set1.union(set2))

  5.3差集  ( -  或者 difference )

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 - set2)                 #{1, 2, 3}
print(set1.difference(set2))

  5.4反交集  ( ^  或者symmetric_difference)

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 ^ set2)                           #{1, 2, 3, 6, 7, 8}
print(set1.symmetric_difference(set2))

  5.5超集,子集

set1 = {1,2,3,4,5}
set2 = {4,5}
print(set1 > set2)                             #True
print(set1.issuperset(set2))

print(set2 < set1)                             #True
print(set2.issubset(set1))
这两个相同,都是说明set1是set2的超集。set2是set1的子集

6.frozenset()

不可变集合,让集合变成不可变类型。

set1 = {1,2,3,4,5}
s = frozenset(set1)                #frozenset({1, 2, 3, 4, 5})
print(s)

二.文件操作

1.文件操作基本流程

f = open(‘F:day8.txt‘,encoding=‘utf-8‘,mode=‘r‘)
# 变量:f f_obj,obj,file_hl file_hanlder 文件句柄          open 他是windows系统的命令
# ‘F:day8.txt‘ 文件路径       encoding=‘utf-8‘   编码方式                   r:只读
content = f.read()
print(content)
f.close()        #将你这文件句柄,或者是动作关闭,节省内存

2.文件的打开模式

2.1读

2.1.1只读  (r,rb,r+)(5种方法)

1.  f.read()   全部读出来

f = open(‘asdf‘,‘r‘,encoding=‘utf-8‘)
content = f.read()
print(content)        #输出结果:qweasdzxc
f.close()

2.  f.read(n)  n是按照字符读出来的个数

f = open(‘asdf‘,encoding=‘utf-8‘)
content = f.read(3)
print(content)       #输出结果:qwe
f.close()

3.  readline()    按行读出来,

f = open(‘asdf‘,encoding=‘utf-8‘)
content = f.readline()
print(content)
line1 = f.readline()
print(line1)
f.close()

4.  readlines()

f = open(‘asdf‘,encoding=‘utf-8‘)
content = f.readlines()
print(content)         输出结果:[‘中国\n‘, ‘qweasdzxc‘]
f.close()

5.   for 循环

f = open(‘asdf‘,encoding=‘utf-8‘)
for i in f:
    print(i)f.close()

r+ 就是先读后写,在读的基础上加上f.write() ,在关闭文件

rb对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)

与r的区别在于 f 中不用输入encoding=‘ ‘,其中f.read(n)中n代表字节

bytes ---> str
# s = b‘\xe4\xb8\xb0\xe5\x8e‘.decode(‘utf-8‘)

2.2  写write(w , w+ ,wb)

write如果没有文件,则创建文件写内容, 如果有文件则将原文件内容全部删除,在写.

f = open(‘asdf‘,‘w‘,encoding=‘utf-8‘)
content = f.write(‘mnbvcxy‘)
f.close()

w+ 是先写后读,写完之后光标在最后位置,读不出来

wb 是写的bytes类型。与w的区别在于 f 中不用输入encoding=‘ ‘,其中写入的是编码类型,表现出的是对应的英文或者中文

2.3追加

只追加  a,ab

f = open(‘asdf‘,‘a‘,encoding=‘utf-8‘)
content = f.write(‘aaaa‘)
f.close()

ab是追加的bytes类型。与a的区别在于 f 中不用输入encoding=‘ ‘,其中写入的是编码类型,表现出的是对应的英文或者中文

追加可读 a+,a+b

f = open(‘asdf‘,‘a+‘,encoding=‘utf-8‘)
content = f.write(‘aaaa‘)
f.seek(0)
print(f.read())
f.close()

a+b是追加可读的bytes类型。与a+的区别在于 f 中不用输入encoding=‘ ‘,其中写入的是编码类型,表现出的是对应的英文或者中文

2.4文件的操作方法

常用方法: 

read readable readline readlines for 循环
seek tell write writeable

3.with的用法

with open(‘log‘,‘r‘,encoding=‘utf-8‘) as f1,        open(‘log1‘,‘r‘,encoding=‘utf-8‘) as f2:
    print(f1.read())
    print(f2.read())

4.改动文件

1)创建一个新文件.

2)读取原文件

3)将原文件的内容通过想用的方式进行更改,并写入新文件

4)将原文件删除

5)将新文件重命名为原文件名

# 1,创建一个新文件.
# 2,读取原文件.
import os
with open(‘log‘,encoding=‘utf-8‘) as f1,    open(‘log.bak‘,‘w‘,encoding=‘utf-8‘) as f2:
# 3,将原文件的内容通过你想要的方式进行更改,并写入新文件件.
    old_content = f1.read()
    new_content = old_content.replace(‘alex‘,‘SB‘)
    f2.write(new_content)
#4,将原文件删除.
os.remove(‘log‘)
#5,将新文件重命名原文件名.
os.rename(‘log.bak‘,‘log‘)

import os
with open(‘log‘,encoding=‘utf-8‘) as f1,    open(‘log.bak‘,‘w‘,encoding=‘utf-8‘) as f2:
    for i in f1:
        i = i.replace(‘alex‘,‘SB‘)
        f2.write(i)
os.remove(‘log‘)
os.rename(‘log.bak‘,‘log‘)

 

原文地址:https://www.cnblogs.com/zhuzhaoyang/p/8386192.html

时间: 2024-11-08 01:13:13

python基础(集合,文件操作)的相关文章

python基础(三)文件操作和集合

一.文件操作 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 1.文件基本操作: f = open('file.txt','r') #以只读方式打开一个文件,获取文件句柄,如果是读的话,r可以不写,默认就是只读, 在python2中还有file方法可以打开文件,python3中file方法已经没有了,只有open frist_line = f.readline()#获取文件的第一行内容,返回的是一个list print(frist

Python基础3 文件操作、字符编码与转码

文件操作 对文件操作过程 打开文件,得到文件句柄赋值给变量 操作 关闭文件 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[可读:   不存在则创建:存在则只追加内容:] "+" 表示可以同时读写某个文件 r+,可读写文件.[可读:可写:可追加] w+,写读 a+,同a "U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用) rU r+U "b

python基础11 文件操作 ,字符编码

主要内容 文件操作 文件操作 打开文件的模式 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[可读:不存在则创建:存在则只追加内容:] "+" 表示可以同时读写某个文件 r+,可读写文件.[可读:可写:可追加] w+,写读 a+,同a r+:可读可写,若文件不存在,报错:w+: 可读可写,若文件不存在,创建. "U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模

【python基础】文件操作

首先要明确的就是python对文件的操作实质上是需要调配两种资源: 1.宿主机的系统资源,比如Linux下的limit文件句柄数 2.python内存资源 两种使用方法: 方式一: f=open('aaa.txt','rt',encoding='utf8') f.read() f.close ##释放系统资源,向系统发送指令告知,程序结束,请求系统关闭文件 方式二: with open('aaa.txt','rt',encoding='utf8') as f: f.read() ps:方式二借助

Python基础之文件操作流与函数

一.文件操作 打开文件的方式有: r,只读模式(默认) w,只写模式(不可读:不存在则创建:存在则删除内容:) a,追加模式(可读:   不存在则创建:存在则只追加内容:) "+"表示可以同时读写某个文件 r+,可读写文件(可读:可写) w+,写读文件(可写:可读) a+,同a "b"表示处理二进制文件 rb wb 1."r"读取文件,并将文件输出出来,encoding="utf-8"是将文件读取出来以后转换成utf-8格式,

python基础之文件操作

文件操作有很多种 我们在这里可以大体分一下,文件的操作其实可以分为对文件整体的操作(创建文件,删除文件,重命名文件,获取文件属性)以及对文件内容的操作(修改文件内容) 先来看对文件整体的操作: 我们按照增删查改的顺序进行讲述 1  增 所谓增,即新建. 新建一个文件 f=open('lalal','w+') #如果该文件(lalal)不存在则创建,若存在则打开. 新建一个目录: >>> os.listdir() ['log', 'test1'] >>> os.mkdir

python基础(文件操作)

文件操作 1,文件路径 绝对路径:从根目录到目标文件路径 #绝对路径 f = open('d:\模特主妇护士班主任.txt',mode='r',encoding='UTF-8') content = f.read() print(content) f.close() 相对路径:根目录相同文件夹下的文件名 2,编码方式:utf-8,gbk....... 3,操作方式:只读,只写,追加,读写,写读..... 文件读取:以什么编码方式存储的就以什么编码方式打开 # f = open('文件路径',mo

Python 基础之文件操作与文件的相关函数

一:文件操作 fp =open("文件名",mode="采用的模式",encoding="使用什么编码集")fp 这个变量接受到open的返回值  是一个文件io对象 (又称文件句柄)i => input 输入o => output输出有了对象之后,就可以使用对象.属性 或者 对象.方法进行操作fp.write("字符串")fp.close() #关闭文件fp.read() #读取内容 #1.文件的写入和读取 #(

python基础语法 - 文件操作

对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧明. 白首为功名,旧山松竹老,阻归程. 欲将心事付瑶琴. 知音少,弦断有谁听. xiaochongshan 1.open()方法: file 对象使用 open 函数来创建 f = open('xiaochongshan','r',encoding='utf-8') #打开文件 f.read() #读取文件 f.clo

python基础学习——文件操作的其他方法

1.closed 判断文件是否关闭,关闭则返回True 2.encoding,文件打开的编码方式 3.flush刷新:将内存数据刷新到硬盘里 4.tell:当前光标所在位置 只要不是read方法,读取的是字符.其余的文件内光标移动都是以字节为单位 f=open("肖战哥哥","r",encoding="utf-8",newline="") #读取文件中真正的换行符号 print(f.tell()) f.readline() p