Python文件操作

#Python文件操作
#   open(), 用于打开一个文件, 并返回一个文件对象
file1 = open('name.txt', mode='w', buffering=-1, encoding='UTF-8',
             errors=None, newline=None, closefd=True, opener=None)
file1.write('诸葛亮')
file1.close()

file2 = open('name.txt', encoding='UTF-8')
print(file2.read()) #诸葛亮
file2.close()

file3 = open('name.txt', mode='a', encoding='UTF-8')   #a->append, r->read, w->write
file3.write('\n刘备')
file3.close()

#   read([size]) 读取指定字节数
file4 = open('name.txt', encoding='UTF-8')
print(file4.read()) #诸葛亮\n刘备
file4.close()

#   readline([size])读单行, 包括\n字符
file5 = open('name.txt', encoding='UTF-8')
print(file5.readline()) #诸葛亮
file5.close()

#   readlines()读行, 返回可迭代对象
file6 = open('name.txt', encoding='UTF-8')
for line in file6.readlines():
    print(line, end='|')    #诸葛亮\n|刘备| (换行符也会被单独迭代出来一次, 比较奇怪)
file6.close()

#   tell()显示读取文件指针的位置
file7 = open('name.txt', encoding='UTF-8')
print(file7.tell()) #0
print(file7.read(1)) #诸葛亮 read([size]) 读取指定字节数, 这一个参数为1个字节, 但是汉字是三个字节
print(file7.tell()) #3, 因为一个汉字三个字节
file7.close()

#   seek(offset[, whence]) 移动文件读取指针到指定位置
#   offset是偏移量, whence是起始位置设置(默认0开头,1当前位置, 2末尾)
file8 = open('name.txt', encoding='UTF-8')
print('当前文件的位置:', file8.tell()) #当前文件的位置: 0
print('打印输出:', file8.read(1)) #打印输出: 诸
print('当前文件的位置:', file8.tell()) #当前文件的位置: 3
file8.seek(0)
print('seek(0)后的文件的位置:', file8.tell()) #seek(0)后的文件的位置: 0
file8.read(1)
file8.read(1)
print('两次read(1)后的文件的位置:', file8.tell()) #两次read(1)后的文件的位置: 6
file8.close()


你可能感兴趣的:(Python文件操作)