python学习记录(五)-文件操作
open()参数说明
'''
参数1:路径 ./当前目录 ../上一级目录
参数2:
基础模式:w r x a
w:写入,不存在则创建,存在则打开,清空文件内容,光标指向最前面
r:只读,不存在则报错,存在则打开,光标指向最前面
x:异或,不存在则创建,存在则报错(防止覆盖),光标指向最前面
a:追加,不存在则创建,存在则打开,不清空文件内容,光标指向最后面
扩展模式:b +
b:二进制
+:增强(可读可写)
文件操作模式组合:
w,r,a,x,
wb,rb,ab,xb,
w+,r+,a+,x+,
wb+,rb+,ab+,xb+
参数3:字符集,可选,二进制文件不需要设置
'''
写入文件
fp = open('./1.txt','w',encoding='utf-8')
fp.write('hello world')
fp.close()
读取文件
fp = open('./1.txt','r',encoding='utf-8')
print(fp.read()) # hello world
fp.close()
高级写法
with open('./1.txt','r+',encoding='utf-8') as fp:
print(fp.read()) # hello world
fp.write(' welcome')
fp.seek(0) # 设置当前光标位置
print(fp.read()) # hello world welcome
写入相关函数
vars1 = '123456'
vars2 = 12
var3 = ['ab','12']
var4 = [1,2,3,4]
with open('./1.txt','w',encoding='utf-8') as fp:
fp.write(vars1) # 只能写入字符串
#fp.write(vars2) TypeError: write() argument must be str, not int
#fp.write(var3) TypeError: write() argument must be str, not list
fp.writelines(var3) # 可以写入容器,容器内容只能是字符串
#fp.writelines(var4) TypeError: write() argument must be str, not int
读取相关函数
with open('./1.txt','r+',encoding='utf-8') as fp:
print(fp.read()) # 从头读到最后
# 十月新番推荐:
# 咒术回战
# 炎炎消防队
# 忧国的莫里亚蒂
# 魔女之旅
# 总之就是非常可爱
fp.seek(0) # 设置指针位置 要考虑中文
print(fp.read(8)) # 十月新番推荐: 指定读取字符位数,1个汉字算1个字符
print(fp.readline()) # 咒术回战 读取一行
print(fp.readline(2)) # 炎炎 读取一行的指定字符个数
print(fp.readlines()) # 读取多行数据
# ['消防队\n', '忧国的莫里亚蒂\n', '魔女之旅\n', '总之就是非常可爱']
fp.seek(0)
print(fp.readlines(5)) # 至少返回一行,位数不够一行时返回一行
# ['十月新番推荐:\n']
fp.seek(0,2) # 光标移到文件末尾
fp.truncate(3) # 截断文件内容,从头开始截取指定字符位数保留下来,要考虑中文
print(fp.tell()) # 返回光标所在位置
python学习记录(五)-文件操作的更多相关文章
- python学习笔记(五)-文件操作2
一.文件修改 现有文件file.txt,内容如下:二十四节气歌春雨惊春清谷天,夏满芒夏暑相连.秋处露秋寒霜降,冬雪雪冬小大寒.上半年逢六廿一,下半年逢八廿三.每月两节日期定,最多相差一二天.要求:将文 ...
- python学习笔记:文件操作和集合
一.文件操作 文件读写步骤:有一个文件,打开文件,操作文件读写文件,关闭文件. python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例) 模式 可做操作 若文件不存在 是否覆盖 r ...
- Python学习:7.文件操作
文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文 ...
- 【Python学习之六】文件操作
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.文件的打开与关闭 使用open函数,可以打开一 ...
- python学习笔记之文件操作(三)
这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...
- python学习笔记4(文件操作)
文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”) 直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...
- python学习笔记三 文件操作(基础篇)
文件操作 打开文件 open(name[,mode[,buffering]]) open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉] w ...
- python学习第十八天 --文件操作
这一章节主要讲解文件操作及其文件读取,缓存,文件指针. 文件操作 (1)文件打开:open(filepath,filemode) filepath:要打开文件的路径 filemode:文件打开的方式 ...
- python之路(五)-文件操作
文件操作无非两个,即:读.写 python 2.x: 文件句柄 = file('文件路径', '模式') python3.x: 文件句柄 = open('文件路径', '模式') 打开文件的模式有: ...
- python学习笔记(三):文件操作和集合
对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...
随机推荐
- Paddiing 组件
一.Flutter Paddiing 组件 在 html 中常见的布局标签都有 padding 属性,但是 Flutter 中很多 Widget 是没有 padding 属性.这个时候我们可以用 Pa ...
- WPF实现一个简单自定义管道
先看效果 xaml代码 <UserControl x:Class="WPF控件测试.Control.Pipeline" xmlns="http://schemas ...
- Mac10.13-10.15 下玩星际争霸1.16
星际争霸DMG 存储在城通网盘,下载后挂载,复制到 应用程序 里就可以玩了 1, ctfile://xturlDG9QOlg_V29WOwI8UzEKZQdjUWEOOFJ7VCEHYFIxBzlTY ...
- Linux 系统挂载 ntfs 移动硬盘无法写入的问题
linux 下挂载 ntfs 移动硬盘无法写入问题 在机房使用移动硬盘时发现无法写入硬盘,具体是 Ubuntu 21.04 ,移动硬盘是 SSD ,分区类型是 NTFS . 首先百度得知最优办法是安装 ...
- 个人js基础知识及看js高级程序设计查漏 汇总
1.事件循环机制 js单线程操作. 1>主线程读取js代码 ,此时为同步环境,形成相应的堆和执行栈. 2>主线程遇到异步任务,指给对应的异步进程处理. 3>异步进程处理完毕后,将相应 ...
- tomcat的安装以及环境配置
1.Tomcat的下载地址:http://tomcat.apache.org/ Tomcat是开放源代码的WEB服务器,安装时,只需解压压缩包即可 2.环境变量的配置 1>新建系统变量CATAL ...
- Little Tiger vs. Deep Monkey(hdu4815)01背包
题:http://acm.hdu.edu.cn/showproblem.php?pid=4815 题意:已知n个题以及每个题答对的得分,给出p概率 小老虎vs小猴子答题:已知小猴子随机答题,请问老虎至 ...
- 第二章:用Python对不同的商品销售数据进行预测分析
文章目录 项目背景 获取数据 线性数据预测 非线性数据预测 源码地址 本文分享知识: os 模块获取上一级目录的绝对地址 pands 读取 sqlite3 数据库中的数据 用sklearn中的线性回归 ...
- Mysql学习:2、mysql基本命令
1.下载安装好的mysql分为两种数据库: a.系统自带: b.用户自己创建: 2.基本命令: create database 数据库名称; // 创建数据库:记住后面加 分号 drop databa ...
- python -m pip install --upgrade pip 解决升级不成功问题
使用pip 提示更新: You are using pip version 18.1, however version 20.0.2 is available. You should consider ...