文件加载及处理
1、检查python
关于文件加载及处理方式文件路径是否存在,如果不存在就创建此路径。
#如果不存在路径,就创建一个这样的路径 if not os.path.exists(exp_path): os.mkdir(exp_path)
登录后复制
os.path.exists():判断括号里的文件是否存在的意思,括号内的可以是文件路径.如果存在就返回True,不存在返回False
os.mkdir():创建路径
2、对文件夹下面的文件名称进行列表排列
file_list = os.listdir(dir_path)
登录后复制
3、过滤不符合要求的文件
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表
filter(function, iterable)
登录后复制
function — 判断函数。
立即学习“Python免费学习笔记(深入)”;
iterable — 可迭代对象
def is_odd(n): return n % 2 == 1 newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])print(newlist)
登录后复制
[1, 3, 5, 7, 9]
登录后复制
4、用于将元组转换为列表
list()
^(* ̄(oo) ̄)^
元组与列表是非常类似的,区别在于元组的元素值不能修改。
元组是放在括号中,列表是放于方括号中
5、打开文件codeces,open()
查阅资料后和实验后,发现和open()的功能差不多,但在进行爬虫或者其他方式得到数据写入文件时会有编码不统一的问题,所以就一般都统一转换为Unicode编码。
总之,用codeces,open()更便捷点。
6、readlines()
每次按行读取整个文件内容,将读取到的内容放到一个列表中,返回list类型
7、strip()
每次按行读取整个文件内容,将读取到的内容放到一个列表中,返回list类型
python文件处理(总结)
1、txt文件
1.1 txt文件读取
with open("11.txt", 'r') as file: for l in file: idnos.append(l.replace('','')) f.close() # 关闭文件,这个可以是个好习惯哦
登录后复制
1.2 txt写入 不覆盖写入
with open("d.txt", 'a',encoding='utf-8') as file: file.write('' + '摘要:' + gaiyao) file.write('') file.close()
登录后复制
1.3 各个文件标签的含义
访问模式 说明r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。r+打开一个文件用于读写。文件指针将会放在文件的开头。w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
1.4 逐行读取txt中所有内容
#coding=utf-8f = open('11.txt', 'r')content = f.readlines()print(type(content))i=1for temp in content: print("%d:%s" % (i, temp)) i += 1f.close()
登录后复制
1.5 读取txt中 前两行的内容
#coding=utf-8f = open('11.txt', 'r')content = f.readline()print("1:%s" % content)content = f.readline()print("2:%s" % content)f.close()
登录后复制
1.6 文件拷贝
# 提示输入文件oldFileName = input("请输入要拷贝的文件名字:")# 以读的方式打开文件oldFile = open(oldFileName,'rb')# 提取文件的后缀fileFlagNum = oldFileName.rfind('.')if fileFlagNum > 0: fileFlag = oldFileName[fileFlagNum:]# 组织新的文件名字newFileName = oldFileName[:fileFlagNum] + '[复件]' + fileFlag# 创建新文件newFile = open(newFileName, 'wb')# 把旧文件中的数据,一行一行的进行复制到新文件中for lineContent in oldFile.readlines(): newFile.write(lineContent)# 关闭文件oldFile.close()newFile.close()
登录后复制
1.7 文件的相关操作
文件重命名
import osos.rename("毕业论文.txt", "毕业论文-最终版.txt")
登录后复制
删除文件
import osos.remove("毕业论文.txt")
登录后复制
创建文件夹
import osos.mkdir("张三")
登录后复制
获取当前目录
import osos.getcwd()
登录后复制
改变默认目录
import osos.chdir("../")
登录后复制
获取目录列表
import osos.listdir("./")
登录后复制
删除文件夹
import osos.rmdir("张三")
登录后复制
1.8 文件管理 – 学生管理系统
注:先创建一个文件:info_data.data
import timeimport os# 定一个列表,用来存储所有的学生信息(每个学生是一个字典)info_list = []def print_menu(): print("---------------------------") print(" 学生管理系统 V1.0") print(" 1:添加学生") print(" 2:删除学生") print(" 3:修改学生") print(" 4:查询学生") print(" 5:显示所有学生") print(" 6:保存数据") print(" 7:退出系统") print("---------------------------")def add_new_info(): """添加学生信息""" global info_list new_name = input("请输入姓名:") new_tel = input("请输入手机号:") new_qq = input("请输入QQ:") for temp_info in info_list: if temp_info['name'] == new_name: print("此用户名已经被占用,请重新输入") return # 如果一个函数只有return就相当于让函数结束,没有返回值 # 定义一个字典,用来存储用户的学生信息(这是一个字典) info = {} # 向字典中添加数据 info["name"] = new_name info["tel"] = new_tel info["qq"] = new_qq # 向列表中添加这个字典 info_list.append(info)def del_info(): """删除学生信息""" global info_list del_num = int(input("请输入要删除的序号:")) if 0 _2、csv文件操作
2.1 csv写入
with open('新1.csv', 'a', encoding='utf-8-sig', newline='') as f: csv_writer = csv.writer(f, delimiter=',') csv_writer.writerow( [str(name), str(zijin), str(guimo), str(jingli), str(phone1), str(phone2),str(chanpin)])登录后复制
以上就是如何加载和处理Python文件?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2236932.html