码迷,mamicode.com
首页 > 其他好文 > 详细

文件操作

时间:2018-04-25 15:57:50      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:hello   day   只读   ==   进制   back   open   encoding   rip   

__author__ = "Alex Li"
 
data = open("yesterday",encoding="utf-8").read()
f = open("yesterday2",‘a‘,encoding="utf-8")       文件句柄
#a = append 追加
 
写方式打开文件,新创建一个yesterday2文件来进行写的方式来写文件。有可能会导致原来的文件内容被冲掉
f = open("yesterday2",‘w‘,encoding="utf-8")
 
 
f.write("\nwhen i was young i listen to the radio\n")
data = f.read()
print(‘--read‘,data)
f.close()
 
#f = open("yesterday2",‘r+‘,encoding="utf-8") #文件句柄 读写    
#f = open("yesterday2",‘w+‘,encoding="utf-8") #文件句柄 写读
#f = open("yesterday2",‘a+‘,encoding="utf-8") #文件句柄 追加读写
f = open("yesterday2",‘wb‘) #文件句柄  二进制文件
f = open("yesterday2",‘rb‘) #文件句柄  二进制文件
f.write("hello binary\n".encode())       在二进制文件中写数据,需要转码
f.close()
 
#high bige
count = 0
最佳读取,读一行放到内存里,然后在内存中删掉,内存中只保存一行
for line in f:                        这样写就代表是一行一行读文件
    if count == 9:
        print(‘----我是分割线----------‘)
        count += 1
        continue
    print(line)
    count +=1
 
#low loop
 
for index,line in enumerate(f.readlines()):
    if index == 9:
        print(‘----我是分割线----------‘)
        continue
    print(line.strip())
 
 
#打印前五行
#f.readline() 不适合读大文件,只适合读小文件
for i in range(5):
   print(f.readline())
 
print(f.tell())    返回当前文件光标的位置,按照字符数来计数
print(f.read(5))  只读五个字符,f.read()是把整个文件一次性都读进来
print(f.readline())  读一行
f.seek(0)    把光标重新放到文件开头的位置
print(f.encoding)   打印文件的编码
print(f.name)    打印文件的名字
f.seekable  判断文件是否可以移动光标
print(f.flush())   把缓存中的数据立刻写入到文件中
print(dir(f.buffer) )
f.truncate() 清空文件
f.truncate(10)    从文件开头,截断10个字符
 
 
 
__author__ = "Alex Li"
 
进度条
import sys,time
for i in range(20):
    sys.stdout.write("#")
    sys.stdout.flush()    不加这个的话会一次性把内容全部打印出来,不会有动态增长进度条的效果
    time.sleep(0.1)

文件操作

标签:hello   day   只读   ==   进制   back   open   encoding   rip   

原文地址:https://www.cnblogs.com/nickkkk/p/8945137.html

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