当前位置:
首页 > temp > python入门教程 >
-
python中的文件操作
起初data.txt文件是这样的
# 一直打开文件但却不关闭文件会导致内存溢出 # 在python,使用open函数, # 可以打开一个已经存在的文件,或者创建一个新文件, # 语法如下: open(name, mode) # name: 是要打开的目标文件名的字符串(可以包含文件所在的具体路径)。 # mode: 设置打开文件的模式(访问模式):只读、写入、追加等。 # mode r w a # r 只读不支持写入 # 使用f.write()会报错 # 如果读取的文件不存在就报错 # read(num) 读取数据, # num不写默认读取全部数据 num写了就读取指定大小的字节 f = open('data.txt', 'r') print(f.read()) # 读取全部数据 f.close()
输出:
# 注意:如果执行了一次 read 方法,读取了所有内容, # 那么再次调用 read 方法,是不能读取到任何的内容, # 因为第一次读取之后,文件指针移动到了文件末尾, # 再次调用不会读取到任何的内容。 # readlines() # 将文件里面的数据按行保存到列表中 # readline() # 运行一次读取一行 f = open('data.txt', 'r') print(f.readlines()) data = f.readlines() # data = f.readlines()[1] # 读取第二行 print(data) # 因为运行完上一个readlines()光标在文件末尾 f.close()
起初是这样的:
# w 覆盖写 # 如果该文件存在,则打开文件并从开头开始编辑,即原有内容会被删除。 # 如果该文件不存在,创建新文件。 # writelines() 将列表里的数据保存到文件中 data = ['静夜思666\n', '唐66代:李白\n', '床前明月光,疑是地上霜。\n', '举头望明月,低头思故乡。'] f = open('data1.txt', 'w') f.writelines(data) f.close()
运行后data1.txt变为了:
紧接着运行
f = open('data1.txt', 'w') f.write('zbc') f.close()
因为,访问模式为w时,光标每次都从文件开头开始,即原有内容会被删除
紧接着运行了两次下面这几行代码
# a 追加数据 f = open('data1.txt', 'a') f.write('\nzbc\n') # 注意换行符 f.close()
运行下面代码
# r+ 读写 w+ a+ f = open('data.txt', 'r+') f.write('我') # 会覆盖第一行的相应字符 汉字占两个字节 f.close()
运行后:
起始时:
运行代码:
# 文件与文件夹的操作 # 复制 删除 重命名 移动 import os # 导入模块 # 重命名 # os.rename(文件(夹)名称, 新的名称) # 重命名 # 若原文件不存在,则报错 os.rename('abc.txt', 'data1.txt')
运行后:
运行前:
运行代码:
os.rename(r'D:\xiangxuexue\\01\\day15', r'D:\xiangxuexue\\01\\day-15') # 要注意那个r!!!
运行后:
运行前:
运行代码:
os.remove(r'data1.txt') # 删除文件
运行后:
运行前:
运行代码:
os.mkdir('data') # 创建一个文件夹
运行后:
运行前:
运行代码:
os.makedirs('data\\data2') # 创建整个路径的文件夹
运行后:
紧接着运行代码:
os.rmdir('data\\data2') # 只会删除最里面的一个文件夹
运行后:
运行代码:
# # 查找 data = os.listdir(r'D:\xiangxuexue\01\day16') # 返回一个列表 文件夹里面的文件 print(data) # ['data', 'data.txt', '__init__.py', '文件操作.py'] print() data = os.walk(r'D:\xiangxuexue\01\day16') for i in data: print(i) # 看路径 # 获取当前路径 print() print(os.getcwd()) # D:\xiangxuexue\01\day16 # 判断文件是否存在 if os.path.exists('data.txt'): print('yes')
输出:
运行前:
运行代码:
import shutil shutil.copy('data.txt', r'D:\xiangxuexue\01\useless') # 只复制 shutil.copy('data.txt', r'D:\xiangxuexue\01\useless\data2.txt') # 复制加重命名
运行后:
今日练习;
# 今日练习 ''' 1、 创建一个data.txt的文件 2、用文件的写的方法往里面写上一首诗,并输出里面的全部内容 静夜思 唐代:李白 床前明月光,疑是地上霜。 举头望明月,低头思故乡。 3、删除最后一行的诗句后并输出删除后的内容 ''' print('今日练习') f = open('data.txt', 'w+') # 创建data.txt文件 # poem = ['静夜思\n', '唐代:李白\n', '床前明月光,疑是地上霜。\n', '举头望明月,低头思故乡。'] # f.writelines(poem) # 参数是个列表!而write()参数是个字符串 f.write('静夜思\n唐代:李白\n床前明月光,疑是地上霜。\n举头望明月,低头思故乡。') f.seek(0) # 将指针放置开头,以便输出全部内容 print(f.read()) # 输出全部内容 f.close() f = open('data.txt', 'r') data = f.readlines() # 以每行为一个元素,以列表形式存储! del data[3] # 删除最后一行 print(data) # data.pop() # 默认删除最后一行,并返回删除的内容 # print(data) f.close()
运行后;
出处:https://www.cnblogs.com/qc2012/p/16931096.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数