python3基础-文件

程序1

#!/usr/bin/python3
f = open("平凡的路.txt",encoding="utf-8")
data = f.read()
data2 = f.read()
print(data)
print("data2",data2)

程序1执行结果

程序1分析:

第二次data2读出来的结果为空,原因为:当第一个读操作完成时,文件光标处于文件末尾处;接着继续执行读取操作,系统从光标处向后读取,但光标已处于末尾,所以读出内容为空。

程序2

tell() 方法返回文件的当前位置,即文件指针当前位置。

tell() 方法语法如下:

fileObject.tell()

seek() 方法用于移动文件读取指针到指定位置。

seek() 方法语法如下:

fileObject.seek(offset[, whence])

flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。

一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。

flush() 方法语法如下:

fileObject.flush();

文件 平凡的路.txt 的内容如下:

徘徊着的 在路上的
你要走吗 via via
易碎的 骄傲着
那也曾是我的模样
沸腾着的 不安着的
你要去哪 via via
谜一样的 沉默着的
故事你真的 在听吗
#!/usr/bin/python3
data = open("平凡的路.txt",encoding="utf-8")
print(data.tell())
print(data.readline())
print(data.tell())
data.seek(0)
print(data.tell())
print(data.readline())
print(data.tell())
#encoding打印字符集
print(data.encoding)
#flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。
#一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。
print(data.flush())

程序3  进度条

#!/usr/bin/python3
import sys,time
count=0
for i in range(10):
    sys.stdout.write("# %s" %count)
    count=count+1
    sys.stdout.flush()
    time.sleep(1)

猜你喜欢

转载自blog.csdn.net/jundao1997/article/details/106524743