OPEN文件操作

 
#'w':只写,不能读(文件不存在会创建,存在会先删除原始内容)
#'r':只读,不能写
#'a':追加,可写,不能读(文件不存在会创建,存在则追加内容)
#'r+':可读,可写,可追加
#'w+':写读,先写后读(文件存在会先删除原始内容)
#'a+':同'a'
#'rU':读取时,将
 
 
 转换成
,功能同'r'
#'r+U':读取时,将
 
 
 转换成
,功能同'r+'
#'rb':读取二进制文件,功能同'r'
#'wb':写二进制文件,功能同'w'
#'ab':追加二进制,功能同'a'

# 文件打开,返回文件对象,可以指定文件编码 encoding='utf-8'
f = open('file.txt', 'r+')
# 是否可写
if f.writable():
    # 保留指针之前的数据,并删除指针之后的数据
    # f.seek(5)
    #print(f.truncate(), 'truncate')
    
    # 写数据,需要可写权限
    f.write('1
2
3
4
5
6
7
')

    # 文件描述符
print(f.fileno(), 'fileno')

# 是否tty设备
print(f.isatty(), 'isatty')

# 是否可读
if f.readable():
    # 读取指针之后的数据,换行以
代替(需要带r模式),可以指定读取多少字符,为空读取所有
    # print(f.read(),'read')

    # 读取指针之后的数据,按换行符分割成序列,可以指定读多少行,为空读取所有
    #print(f.readlines(2), 'readlines')

    # 移动指针到指定位置(字节)
    f.seek(0)

    # 查看当前指针位置
    # (read到哪,指针就到哪,下次再read,从指针处开始,如果指针都最尾部,则不能继续read,需要通过seek移动指针到可读位置)
    # 读取时
=1个字符,指针移动时=2个字节
    r = f.read(1)
    print(f.tell(), r, 'tell')
    r = f.read(2)
    print(f.tell(),  r, 'tell')





# 刷新文件内部缓冲区(write是写到文件内部缓冲区,但没有刷新,只有flush或者close后,文件的实际内容才改变)
f.flush()


# 文件关闭
f.close()


exit()

  

原文地址:https://www.cnblogs.com/xh4528/p/6497733.html