1、三种字符串:
(1)u'' 普通字符串 ---> u'abc' ---> 默认的文本方式,以字符作为文本的输出方式
(2)b'' 二进制字符串 ---> b'ASCII码' ---> 以二进制(字节)作为文本输出方式,且文本内容必须为ASCII码
(3)r'' 原义字符串 ---> r'\n\t' ---> 将引号中的转移字符串以原本的意义表示出来(多用于文件路径的表示) 2、文件操作步骤
(1)通过文件名等从硬盘中找到相应的文件地址,使操作系统就有文件的操作权
(2)使用应用程序对文件进行操作
(3)操作完成后,应用程序向操作系统发送请求,使其释放文件的操作权 3、打开文件的方式
(1)使用open打开文件
f = open("文件路径及文件名","文件打开模式",enconding="utf-"8)
(2)使用with open...as 的方式进行文件操作
with open("文件路径及文件名","文件打开模式",enconding="utf-8") as f:
(3)使用with open 进行文件操作时,嵌套使用
with open("文件路径及文件名","操作模式",enconding="utf-8") as f1:
with open("文件的路径及文件名","操作模式",enconding="utf-8") as f2:
对文件的操作 4、文件的操作模式
主模式: r | w | a | x
从模式: t | b | + (1)r ---> 基本读操作
with open("文件路径及文件名","r",enconding="utf-8") as f1:
f1.read() --> 将整个文件读取进内存
f1.readline() --> 读取一行文件
f1.readlines() --> 将每行内容依次添加进列表中,并返回列表
对文件进行读操作,如果文件不存在则报错
# 如果想要一行一行的读取文件,可以使用for循环 ---> 重要点
for line in f1:
print(line) (2)w ---> 基本写操作
with open("文件路径及文件名","w",enconding="utf-8") as f1:
f1.write("哈哈")
f1.writerlines([必须为可迭代的对象,并且内容为字符串]) 对文件进行写操作,如果文件不存在则创建文件,如果文件存在,则清空文件从头开始写 (3)a ---> 追加操作
with open("文件路径及文件名","a",enconding="utf-8") as f1:
采用追加的方式对文件进行写操作,默认从文件的结尾添加 (4)x ---> 写操作,文件不存在创建,文件存在报错
with open("文件路径及文件名","x",enconding="utf-8") as f1:
如果文件存在则报错,如果文件不存在则创建文件并写入 t ---> 以文本方式进行文件的操作,是文件操作的默认方式, rt = r
(5) rt 以普通方式进行文件读操作,如果文件不存在则抱错问题 ---> 与 r 相同
(6) wt 以普通字符串的方式对文件进行写操作,如果文件存在则清空后写入,如果文件不存在则创建文件后写入 --> 与 w 相同
(7) at 以普通文本方式对文件进行追加操作,,默认写到文件的末尾 --->与 a 相同 b ---> 以字节的方式对文件进行操作
with open("文件路径及文件名","wb") as f1:
f1.write()
(8) rb 以字节的方式对文件进行读操作,如果文件不存在则报错
(9) wb 以字节的方式对文件进行操作,如果文件存在则清空后添加,如果文件不存在则创建文件
(10) ab 以字节的方式对文件进行操作,默认添加到文件的末尾 + ---> 以读写的方式对文件进行操作
(11) r+ 可读可写的读,如果文件不存在则报错,【如果文件存在则从头开始替换写】
(12) w+ 可读可写的写,如果文件存在则清空写,如果文件不存在则进行创建文件后进行写入
(13) a+ 可读可写的追加,如果文件不存在则进行创建,如果文件存在则在末尾进行添加 5、游标操作
游标由于是以字节作为移动的单位,所以文件必须是b模式,又因为只有在读取文件时才有游标,所以,文件的游标概念只有在 rb 模式下才能起作用
游标操作使用seek()方法,seek('移动的位数','起始的位置')
起始的位置主要有三个: 0 --> 文档开头
1 --> 当前位置
2 --> 文档末尾
with open("3.txt", "rb") as f:
f.seek(-2, 2)
print(f.read(2)) 6、文档的复制
with open("3.txt","r",encoding="utf-8") as f1:
with open("4.txt","w",encoding="utf-8") as f2:
for line in f1:
f2.write(line) 7、enconding编码
在使用 t 模式进行文件操作时,需要标明编码方式,enconding="utf-8"
在使用 b 模式进行文件操作时,不能标明编码方式,否则会报错

day08 文件操作的更多相关文章

  1. day08——文件操作

    day08 文件操作: open() :打开 f (文件句柄)= open("文件的路径(文件放的位置)",mode="操作文件的模式",encoding=&q ...

  2. day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作

    复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5 ...

  3. day08文件操作

    今日内容 文件操作 内容详细 1.打开文件 1.open("作业讲解.py",mode="r",encoding="utf-8") 2.文件 ...

  4. Python集训营45天—Day08 (文件操作)

    目录 1. 文件操作介绍 2. 文件的读写 2.1 文本文件 2.2 二进制文件 2.3 JSON文件 3. 文件的定位,重命名和删除 4. 文件夹的相关操作 1. 文件操作介绍 大家应该听说过一句话 ...

  5. python day08 文件操作

    2019.4.8 S21 day08笔记总结 一.进制 对于计算机而言无论是文件存储 / 网络传输数据本质上都是:二进制(010101010101),如:电脑上存储视频/图片/文件都是二进制: QQ/ ...

  6. Python:Day08 文件操作

    能调用方法的一定是对象! 文件的操作分为三步: 1.打开文件 2.操作文件 3.关闭文件 f= open('小重山','r',encoding='utf8') #以读的方式打开一个文件,如果文件不存在 ...

  7. 铁乐学Python_day08_文件操作

    一.[基本的文件操作] 参数: 1.文件路径: 2.编码方式: 3.执行动作:(打开方式)只读,只写,追加,读写,写读! #1. 打开文件,得到文件句柄并赋值给一个变量 f = open('E:/Py ...

  8. day08(字符编码,字符与字节,文件操作)

    一,复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int: int('10') | int('-10') | int('0') | float(' ...

  9. day08 python文件操作

    day08 python   一.文件操作     1.文件操作的函数         open(文件名, mode=模式, encoding=字符集)       2.模式: r, w, a, r+ ...

随机推荐

  1. pytorch错误:RuntimeError: received 0 items of ancdata解决

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com RuntimeError: received 0 items of ancdata错误是在datalo ...

  2. MySQL大小写敏感

    MySQL大小写敏感说明 - TonyWu - 博客园https://www.cnblogs.com/wzmenjoy/p/4244545.html

  3. OpenCV4.1.0实践(3) - 图片缩放

    简单的案例: (1)通过比例进行缩放 import cv2 as cv import numpy as np # 图片缩放 img = cv.imread('images/animal.jpg', f ...

  4. HashMap源码解读(jdk1.8)

    1.相关常量 默认初始化容量(大小) static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; 最大容量 static final int M ...

  5. iptables对端口流量统计

    本篇文章主要介绍了Linux下如何对端口流量进行统计,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧   在不修改源代码的情况下对程序暴露端口流量进行监控统计,可以利用Li ...

  6. ClientValidationEnabled

    ClientValidationEnabled 去掉这个的时候就无效了,前端验证 <add key="ClientValidationEnabled" value=" ...

  7. Making every developer more productive with Visual Studio 2019

    Today, in the Microsoft Connect(); 2018 keynote, Scott Guthrie announced the availability of Visual ...

  8. poj 3694(割边+lca)

    题意:给你一个无向图,可能有重边,有q次询问,问你每次我添加一条边,添加后这个图还有多少个桥 解题思路:首先先把所有没有割边的点对缩成一个联通块,无向图一般并查集判环,然后就得到一个割边树,给你一条新 ...

  9. Linux内核模块编程——Hello World模块

    Linux内核模块编程 编程环境 Ubuntu 16.04 LTS 什么是模块 内核模块的全称是动态可加载内核模块(Loadable Kernel Modul,KLM),可以动态载入内核,让它成为内核 ...

  10. Promise的源码实现(完美符合Promise/A+规范)

    Promise是前端面试中的高频问题,我作为面试官的时候,问Promise的概率超过90%,据我所知,大多数公司,都会问一些关于Promise的问题.如果你能根据PromiseA+的规范,写出符合规范 ...