1、文件打开

文件句柄 = open('文件路径', '模式')

2、文件操作

  打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

三种基本的文件操作模式:r(only-read)、w(only-write)、a(append)

  

r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
w,只写模式【不可读;不存在则创建;存在则清空内容】
x, 只写模式【不可读;不存在则创建,存在则报错】
a, 追加模式【可读; 不存在则创建;存在则只追加内容】 "+" 表示可以同时读写某个文件 r+, 读写【可读,可写】
w+,写读【可读,可写】
x+ ,写读【可读,可写】
a+, 写读【可读,可写】 "b"表示以字节的方式操作 rb 或 r+b
wb 或 w+b
xb 或 w+b
ab 或 a+b
注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码 3.关闭文件 使用close() 补充:with语句自带使用close()方法, 这也是为了防止打开文件忘记关闭 比如: with open() as f_read:#打开文件 是不需要添加close()的。

文件操作

文件名.read(n):读取指定个数的字符,文件从光标位置开始

注意:python3版本读取的是字符

        python2版本读取的是字节

在读取完第一次字符时,第二次读取从上次读取完的字符开始

比如:
f = open("test",mode="r",encoding="utf8")

data = f.read(5)
data2 = f.read(6)
print(data)
print(data2)
得到的答案是
globa
l
 f.readline 读取一行,光标到下一行行首
f.readlines 显示列表结果,每一个元素是一行内容 行与字符串的拼接
使用join用法
文件名.join([文件名,“需要添加的字符串”])
循环整个文件,并在一行中拼接使用for循环 .write
f =open(name,mode=w) 修改文件可读权限
文件名.write("") 覆盖文件信息 文件名.write("\n") 换行 f =open(name,mode="a")追加信息,原来文件信息不变 f =open(name,mode="x")原有的文件不覆盖,会报错;没有的文件重新创建 f=write("")把内容添加到内存,在一定时间内显示出来 f.writelines(["11\n","22\n"])写多行
f.truncate() 截断 只能在写权限操作

可读可写模式

 r+  追加写
默认光标在开始位置
w+ 首先会覆盖,清空,然后再写,seek调整 a+ 总是在最后位置添加。光标在文件最后位置
无论光标在什么位置,一定是追加写:
想读取内容:seek调增 .flush操作
f=flush("") 直接显示,内容直接存储在硬盘上
比如:
进度条操作
sys.stdout.write("")相当于print
sys.stdout 文件
循环打印#
import sys
for i in range(10):
sys.stdout.write("#")
sys.stdout.flush()
import time
time.sleep(0.5)
1 import sys
2 for i in range(6):
3 s = "\r%s%% %s"%(i,"?"*i)
4 sys.stdout.write(s)
5 sys.stdout.flush()
6 import time
7 time.sleep(0.5)

3、其他操作

tell和seek

     tell:查询文件中光标位置

     seek:光标定位

f = open('file','r')
print(f.tell()) #光标默认在起始位置
f.seek(10) #把光标定位到第10个字符之后
print(f.tell()) #输出10
f.close()
----------------------
f = open('file','w')
print(f.tell()) #先清空内容,光标回到0位置
f.seek(10)
print(f.tell())
f.close()
----------------------
f = open('file','a')
print(f.tell()) #光标默认在最后位置
f.write('你好 世界')
print(f.tell()) #光标向后9个字符,仍在最后位置
f.close()

flush 同步将数据从缓存转移到磁盘

示例,实现进度条功能

import sys,time  #导入sys和time模块
for i in range(40):
sys.stdout.write('*')
sys.stdout.flush() #flush的作用相当于照相,拍一张冲洗一张
time.sleep(0.2)
下面代码也能够实现相同的功能
import time
for i in range(40):
print('*',end='',flush=True) #print中的flush参数
time.sleep(0.2)

truncate 截断

不能是r模式下执行,

w模式下,已经清空所有数据,使用truncate没有任何意义,

a模式下,截断指定位置后的内容。

 f = open('file','a')
f.truncate(6) #只显示6个字节的内容(6个英文字符或三个汉字),后面的内容被清空。

os模块 

1. os.name——判断现在正在实用的平台,Windows 返回 ‘nt'; Linux 返回’posix'

2. os.getcwd()——得到当前工作的目录。

3. os.listdir()——指定所有目录下所有的文件和目录名。

4. os.remove()——删除指定文件

5. os.rmdir()——删除指定目录

6. os.mkdir()——创建目录(创建一层) os.makedirs()--递归创建目录

7. os.path.isfile()——判断指定对象是否为文件。是返回True,否则False

8. os.path.isdir()——判断指定对象是否为目录。是True,否则False。

9. os.path.exists()——检验指定的对象是否存在。是True,否则False

10. os.path.split()——返回路径的目录和文件名。

11. os.getcwd()——获得当前工作的目录

12. os.system()——执行shell命令。

13. os.chdir()——改变目录到指定目录

14. os.path.getsize()——获得文件的大小,如果为目录,返回0

15. os.path.abspath()——获得绝对路径。

16. os.path.join(path, name)——连接目录和文件名。

17.os.path.basename(path)——返回文件名

18. os.path.dirname(path)——返回文件路径

  

python文件操作及os模块常用命令的更多相关文章

  1. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  2. Python文件系统功能:os模块

    Python文件系统功能:os模块 1.os模块方法分类 (1)目录: chdir() 改变工作目录 chroot() 设定当前进程的根目录 listdir() 列出指定目录下的所有文件名 mkdir ...

  3. 文件操作和OS模块的简单操作

    文件的作用 大家应该听说过一句话:“好记性不如烂笔头”. 不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把这些数据存放起来,相比重启电 ...

  4. python os模块 常用命令

    python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Window ...

  5. 【python】os模块常用命令

    python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Window ...

  6. python os模块常用命令

    python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Window ...

  7. [转]python os模块 常用命令

    python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令 1. os.name()——判断现在正在实用的平台,Window ...

  8. Python之文件操作:os模块

    Python os 模块提供了一个统一的操作系统接口函数 一.对于系统的操作 1.os.name 当前使用平台 其中 ‘nt’ 是 windows,’posix’ 是linux 或者 unix 2.o ...

  9. 13、Python文件处理、os模块、json/pickle序列化模块

    一.字符编码 Python3中字符串默认为Unicode编码. str类型的数据可以编码成其他字符编码的格式,编码的结果为bytes类型. # coding:gbk x = '上' # 当程序执行时, ...

随机推荐

  1. 休息,归类一下CSS初级的东西

    css基础的东西集中体现在了"磊盒子"这一个枯燥无味的东西上面,灵活的运用盒子的内外边距,浮动,定位以及一些基础的属性,将一个静态的页面变得磊出来,这是CSS基础的练习. 在css ...

  2. C语言实现快速排序法(分治法)

    title: 快速排序法(quick sort) tags: 分治法(divide and conquer method) grammar_cjkRuby: true --- 算法原理 分治法的基本思 ...

  3. Python之Threading模块

    Thread 先引入一个例子: >>> from threading import Thread,currentThread,activeCount >>> > ...

  4. (一)IDEA工具开第一个springboot应用之helloworld

    (一)IDEA工具开第一个springboot应用之helloworld 一.前置知识 1.maven相关知识 2.spring注解 3.RESTful API 二.idea开发第一个springbo ...

  5. MySQL分类表设计--根据ID删除全部子类

    在做数据库分类表的时候,通常会有这样的设计:一个字段是ID,另一个字段PID,PID指向自己的上级分类: 这样的设计带来的问题是:我要删除一个类,我希望它的子类全部一起删除: 在不知道分类有多少层级的 ...

  6. scala时间处理

    1.获取当前时间的年份.月份.天.小时等等 val nowDay=LocalDate.now().getDayOfMonth val nowDay=LocalTime.now().getHour 2. ...

  7. python解释执行原理(转载)

    Python解释执行原理 转自:http://l62s.iteye.com/blog/1481421 这里的解释执行是相对于编译执行而言的.我们都知道,使用C/C++之类的编译性语言编写的程序,是需要 ...

  8. em单位使用小结

    em是一个css的单位. em是一个相对的单位.相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸.(引自CSS2.0手册) 一般在DOM元素中,当前 ...

  9. Python入门 - 面向对象

    python很好的支持面向对象编程,本节主讲类的定义,类的构造方法,类的继承与方法重写,类的多继承. 一.类的定义 class Myclass() : def prt(self, str) : pri ...

  10. JavaScript OOP(三):prototype原型对象(即构造函数的prototype属性)

    通过构造函数生成的实例化对象,无法共享属性或方法(即每个实例化对象上都有构造函数中的属性和方法):造成了一定的资源浪费 function Obj(name,age){ this.name=name; ...