文件操作

1,文件路径:d:\xxxx.txt
    绝对路径:从根目录到最后
    相对路径:当前目录下的文件
2,编码方式:utf-8
3,操作方式:只读,只写,追加,读写,写读......
(1)只读--r
f =open('路径',mode='r',encoding='编码方式')
content=f.read()
print(content)
f.close()

只读-r

以什么编码方式储存的文件,就要以什么编码方式打开。
只读:r----->以str方式读取
只读;  rb------>以bytes类型打开,用于非文字文件的打开.
(2)只写-->没有此文件就会创建文件。有个文件则会先将源文件的内容全部清除,再写。
只写:w
f =open('路径',mode='w',encoding='编码方式')
content=f.write('内容')
f.close() 
 
wb:
f =open('路径',mode='wb')
content=f.write('内容'.encode('utf-8'))
f.close()
 
(3)追加------>在文件后追加内容:a
f =open('路径',mode='a',encoding ='编码方式')
f.write('内容')
f.close()
 
ab
f =open('路径',mode='a')
f.write('内容',encode('utf-8'))
f.close()
(4)r+(先读后写)

读写:
f = open('log',mode ='r+',encoding='utf-8')
content =f
print(f.read())
f.write('内容') 
f.close()
(5)写读:(先写后读)
f = open('log',mode ='r+',encoding='utf-8')
content =f
f.write('内容') 
print(f.read())
f.close()
先写后读。先写,光标从开头往后走,覆盖后边的内容。
(6)r+模式的bytes类型:r+b
f = open('log',mode ='r+b')
print(f.read())
f.write('内容'.encode('编码方式'))
f.close()
(7)w+
f =open('路径',mode='w+',encoding ='utf-8')
f.write('内容')
print(f.read())
f.close()
4、seek:调光标
f.seek(位置)-----》f.seek(0)
'''
read是按字符来读。
seek是按字节去定光标的位置
'''
f =open('log',mode = 'r+',encodeing='utf-8')
f.seek(3)
content =f.read()
print(content)
f.close()
5、断点续传----》定位光标的位置
  f.tell()定位光标的位置
    f =open('log',mode = 'a+',encoding ='utf-8')
    f.write('+7')
    count =f.tell()
    f.seek(count -9)#在utf-8中一个中文占三个字节
    print(f.read())
    f.close()
#无论是在实际开发过程中还是在平时的下载当中都会遇到网络中断的情况,因此断点续传就尤为重要,找到最后的下载位置开始下载,比重新开始再下一遍要快的多。
6、f.readable()
判断是不是可读-》返回true或false
line =f.readline()
print(line)
f.close()
 
7、redline
一行一行读
line = f.readlines()
print(line)
f.close()
 
每一行当成列表中的一个元素,添加到列表中(lines是列表)
truncate
截取一段去读
8、用with打开文件
with open('路径',mode='r',encoding='utf-8') as obj:
    print(obj.read())
打开多个文件

编码二:
bytes---》str:
1,decode(解码)
s1 = b.decode('utf-8')
2,如果字符串里都是字母
解码的时候写gbk并不会报错
s =abf
b=s.encode('utf-8') print(b) s1 =b.decode('gbk') print(s1)

编码与解码

Python学习日记:day8-------文件操作的更多相关文章

  1. Python学习日记(七) 文件操作

    文件操作: 首先要有一个文件作为对象,例‘文件名’.txt 1.文件路径:例 d:\文件名.txt <1>:绝对路径:从根目录往后的路径 <2>:相对路径:当前目录下的路径有什 ...

  2. python学习日记(文件操作练习题)

    登录注册(三次机会) name = input('请注册姓名:') password = input('请注册密码:') with open('log',mode='w',encoding='utf- ...

  3. Python学习日记之文件读取操作

    Python内置了文件读写的函数open,read 用法示例: open('/home/root/files.txt ') 在打开文件后,操作完成后可以使用close()关闭文件,但比较好的文件读写方 ...

  4. Python学习:7.文件操作

    文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文 ...

  5. 【Python学习之六】文件操作

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.文件的打开与关闭 使用open函数,可以打开一 ...

  6. python学习笔记之文件操作(三)

    这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...

  7. python学习笔记4(文件操作)

    文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”)      直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...

  8. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

  9. python学习第十八天 --文件操作

    这一章节主要讲解文件操作及其文件读取,缓存,文件指针. 文件操作 (1)文件打开:open(filepath,filemode) filepath:要打开文件的路径 filemode:文件打开的方式 ...

  10. python学习笔记(三):文件操作和集合

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...

随机推荐

  1. 简述Handler机制

    我会对android的消息处理有三个核心类逐步介绍,他们分别是:Looper,Handler和Message.其实还有一Message Queue(消息队列),知道它是队列即可,就像我们所熟知的数组, ...

  2. 第六届蓝桥杯软件类省赛题解C++/Java

    第六届蓝桥杯软件类省赛题解C++/Java 1[C++].统计不含4的数字统计10000至99999中,不包含4的数值个数.答:暴力循环范围内所有数字判断一下就是了,答案是52488 1[Java]. ...

  3. VMware下设置Centos7联网与固定IP连接Xshell

    爱折腾的小伙伴应该经常会用Vmware安装一些虚拟机用于学习,但是比如装了Linux,经常操作的时候非常切换窗口的时候非常麻烦,所以很多人都会选择用Xshell来连接本地的Linux虚拟机,但是用Xs ...

  4. Mysql第一周

    前言:好久不见,我又来写博客拉.上个月只写了几篇django-rest-framework的,而且还是根据官网的英文写的.干货不多,内心还是有点羞耻的…… 简单说下我11月去干嘛了.11月初美图给我发 ...

  5. ##8.创建虚拟机-- openstack pike

    ##8. openstack创建虚拟机 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##.创建虚拟机.txt.s ...

  6. poj 3070 && nyoj 148 矩阵快速幂

    poj 3070 && nyoj 148 矩阵快速幂 题目链接 poj: http://poj.org/problem?id=3070 nyoj: http://acm.nyist.n ...

  7. cap deploy:setup报错

    今天部署cap的时候,setup出现以下错误: 查询半天未果,不过最后还是在google找到了,可见度娘极为不靠谱! I had the same error on deploy:setup with ...

  8. 树莓派搭建pptp---vpn

    好久没写博文了啊,这次好好写 先普及下知识啊 PTP(Point to Point Tunneling Protocol),即点对点隧道协议.该协议是在PPP协议的基础上开发的一种新的增强型安全协议, ...

  9. 【并查集】HDU 1325 Is It A Tree?

    推断是否为树 森林不是树 空树也是树 成环不是树 数据: 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 1 0 0 1 2 2 3 4 5 0 0 2 5 0 0 ans: no ...

  10. hbase 0.98.1集群安装

    本文将基于hbase 0.98.1解说其在linux集群上的安装方法,并对一些重要的设置项进行解释,本文原文链接:http://blog.csdn.net/bluishglc/article/deta ...