python笔记(文件操作)

xiaoxiao2025-10-19  12

1.linux几个基本操作: ls -l:查看目录详细内容 ls -lh 人性化的展示文件 cat 查看文件内容 more 慢慢看文件内容 cd ./…/…/… 回去几层 tree+文件名:树状查看目录 mv A B 把A移到B mkdir -p 递归的创建目录

2.python文件操作 1.数据类型:  可哈希对象是对象拥有__hash__(self)内置函数的对象。对于可哈希的对象执行这个函数将会返回一个整数。可哈希对象判断相等的唯一条件就是两者 的哈希值相等。如果我们的对象有多个属性值,我们会使用一种方法(比方说逻辑运算异或)来将其属性值结合在一起做比较。   不可变: bool,int,str (可哈希) 可变: list,dict,set (不可哈希) @绝对路径:更目录下的文件

2.读操作: r+(读写):写多少占多少位 r+b(读写):encoding可以不用 seek:seek(num),从第num后的字节开始看 read(num):读取num个长度 readline() :一行一行的读 readlines() 每一行当成列表中的一个元素,添加到list中(一次性读完)

@常用操作:r+ @编码一般用utf-8

3.追加: a+:可追加可读

4.open()操作: f.tell:告诉你光标位置 f.truncate():对源文件进行截取 f.readable():是否刻度 @三个字节决定一个字符 @for循环读取最好 @不能一下把文件读出来,要一行一行读 @每次open完都要加close @open()不定义编码方式直接读取中文会乱码

5.with操作: with open() as xxx: 这个不用写close,它会自动关闭 with open() as xxx,open() as xxx,open() as xxx…: 同时打开多个文件 open():默认是读 @format:格式化 @strip:去空格,也可以去换行符 @光标 - 文件指针 视频,图片 用rb(bytes)按照字节读 修改文件:文件不能修直接做修改,一般做修改都是读出来修改完成重命名文件 @删除文件和重名名文件: import os os.remove(‘xxxx’):删除xxxx文件 os.rename(‘A’,‘B’):A重命名为B文件 小练习: 1,注册一个用户以文件形式保存; 2,去登陆(在文件中拿取密码用户名(3次登陆失败));

username = input('请输入你的用户名:') password = input('请输入你要注册的密码:') with open('lisi_of_info',mode='w',encoding='utf-8‘ as f: f.write('{}\n{}'.format(username,password)) print('注册完成!') lis = [] i = 0 while i < 3: uname = input('请输入你的用户名:') pwd = input('请输入你的密码:') with open('lisi_of_info', mode='r+', encoding='utf-8') as f: for line in f: lis.append(line) if uname == lis[0].strip() and pwd == lis[1].strip(): print('登陆成功!') break else: print('密码错误!') i += 1 ``` 6、在菜鸟学python找的总结: 1、t:文本模式 (默认)。 x 写模式,新建一个文件,如果该文件已存在则会报错。 b 二进制模式。 2、 +:打开一个文件进行更新(可读可写)。 U 通用换行模式(不推荐)。 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 3、 rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。 4、r+:打开一个文件用于读写。文件指针将会放在文件的开头。 5、rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。 6、w :打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 7、wb : 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 8、w+ :打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 9、wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 10、a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 11、ab :以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 12、a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 13、ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 7、属性描述 file.closed: 返回true如果文件已被关闭,否则返回false。 file.mode: 返回被打开文件的访问模式。 file.name: 返回文件的名称。 file.softspace: 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。 8、file 对象使用 open 函数来创建,下表列出了 file 对象常用的函数: 序号 方法及描述 1)file.close():关闭文件。关闭后文件不能再进行读写操作。 2) file.flush():刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。 3)file.fileno():返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。 4)file.isatty():如果文件连接到一个终端设备返回 True,否则返回 False。 5)file.next():返回文件下一行。 6)file.read([size]):从文件读取指定的字节数,如果未给定或为负则读取所有。 7)file.readline([size]):读取整行,包括 "\n" 字符。 8)file.readlines([sizeint]):读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。 9)file.seek(offset[, whence]):设置文件当前位置 10)file.tell():返回文件当前位置。 11)file.truncate([size]):截取文件,截取的字节通过size指定,默认为当前文件位置。 12)file.write(str):将字符串写入文件,返回的是写入的字符长度。 13)file.writelines(sequence):向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。
转载请注明原文地址: https://www.6miu.com/read-5038201.html

最新回复(0)