码迷,mamicode.com
首页 > 编程语言 > 详细

Python 文件操作

时间:2018-07-04 13:41:22      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:刷新   终端   整型   als   seek   for   \n   转换   需要   

1.  open()  file.close()

# 关闭后的文件不能再进行读写操作,否则会触发ValueError
fo = open(a.txt, r)
print(打开a.txt的文件)
fo.close()

 

 

2.  flush()

# flush()用来刷新缓冲区,将缓冲区的数据立刻写入文件
# 同时清空缓冲区,不需要是被动的等待输出缓冲区写入
# 一般情况,文件关闭后会自动刷新缓冲区,但有时需要在关闭前刷新它,这时就需要使用flush()方法
fo =open(a.txt, wb)
print(打开a.txt的文件)
fo.flush()
fo.close()

 

 

3.  打开文件的模式

  ①. 只读模式 r (默认)

  ②. 只写模式 w (不可读,不存在则创建,存在则覆盖)

  ③. 追加模式 a (可读,不存在则创建,存在则只追加内容)

  ④. ‘+‘ 表示可同时读写某个文件:

    r+ 可读写文件(可读、可写、可追加)

    w+ 写读

    a+ 追加

  ⑤. ‘u’表示在读取时,可将 \r \n  \r\n  自动转换成 \n (与 r 或者 r+ 模式同时使用)

   因为Windows系统的换行符为\r\n,Linux系统的换行符为 \n , 加上u则能自动把\r\n转换成\n

    ru

    r+u

  ⑥. ‘b’ 表示处理二进制文件

    rb

    wb

    ab

 

4.

# # 读取文件内容(可指定每次读取字符数)
# with open(‘a.txt‘, ‘r+‘, encoding=‘utf-8‘) as f:
#     ret = f.read(8)
#     print(ret)

 

 

5.

# 读取数据(可指定读取字符数),存为list显示
# f = open(‘b.txt‘, ‘r+‘, encoding=‘utf-8‘)
# ret = f.readlines()
# print(ret)
# f.close()

 

 

6.

# # 读取一行数据
# f = open(‘b.txt‘, ‘r+‘, encoding=‘utf-8‘)
# ret = f.readline()
# print(ret)
# f.close()

 

 

7.

# 判断文件是否可读(不可读则报错“No such file or directory:”)
f = open(b.txt, r+, encoding=utf-8)
ret = f.readable()
print(ret)
f.close()

 

 

8.

# 获取指针位置
f = open(b.txt, r+, encoding=utf-8)
# 先读取8个字符
ret = f.read(8)
# 查看当前指针位置
print(pointer position: %s %f.tell())
print(ret)
# 重置指针到起始位
f.seek(0)
# 查看指针当前位置
print(pointer position: %s %f.tell())
f.close()

 

 

9.

# 指定文件中指针位置
f = open(b.txt, r+, encoding=utf-8)
# 先读取8个字符
ret = f.read(8)
print(ret)
# 重置指针到起始位
f.seek(0)
# 在重新读取8个字符
ret = f.read(8)
print(ret)
f.close()

 

 

10.

# 截取文件数据,仅保留指定之前数据(指定字节数)
f = open(b.txt, r+, encoding=utf-8)
# 文件只保留前8个字节数据,文件后面的数据全部删除
f.truncate(8)
ret = f.read()
print(ret)
f.close()

 

 

11.  fileno()

# fileno()返回一个整型的文件描述(file desccriotor FD 整型)
# 可用于底层操作系统的I/O操作
fo = open(b.txt, wb)
print(文件名为:,fo.name)
fid = fo.fileno()
print(文件描述为:,fid)
fo.close()

 

 

12.  isatty()

# isatty()检测文件是否连接到一个终端设备
# 如果是返回True,否则返回False
fo = open(b.txt, wb)
print(文件名为:,fo.name)
ret = fo.isatty()
print(返回值:,ret)
fo.close()

 

 

13.  next()

# Python3中的file对象不支持next()方法
# Python3的内置函数next()通过迭代器调用__next()__方法返回下一项
# 在循环中,next()方法会在循环中调用,该方法返回文件的下一行
# 如果到达结尾(EOF)则触发Stopiteration
fo = open(b.txt, r)
for index in range(5):
    line = next(fo)
    print(第%d行 - %s%(index, line))

 

 

 

Python 文件操作

标签:刷新   终端   整型   als   seek   for   \n   转换   需要   

原文地址:https://www.cnblogs.com/cyx-12/p/9262479.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!