import sys, time
for i in range(30):
sys.stdout.write('*')
sys.stdout.flush()
time.sleep(0.2)
# 能调用方法的一定是对象li = [1, 2, 3]li.append(2)print(li)'asc'.capitalize()
一、文件操作流程
1.文件 读
# 建立文件对象
# data = open('jingyesi', 'r', encoding='utf-8').read()
# print(data)
f = open('jingyesi', 'r', encoding='utf-8')
data = f.read()
print(data)
f.close() # 关闭
f = open('jingyesi', 'r', encoding='utf-8')
data = f.read(5) # 中文 一个汉字 一个字符 英文一个字母是一个字符
print(data)
f.close() # 关闭
读模式只能读,写模式只能写,不可交互
2.文件 写
f = open('jingyesi', 'w', encoding='utf-8')
f.write('hello world')
且清空动作,在写模式已经执行。如果没有文件,会自动创建文件,然后再写内容
f = open('jingyesi', 'w', encoding='utf-8')
f.write('hello world')
f.write('alex')
输出为:
hello worldalex
打开文件,就要关闭一个文件
3.文件 append
f = open('jingyesi', 'a', encoding='utf-8')
f.write('hello world')
f.write('alex')
# print(data)
f.close() # 关闭
输出:
静夜思
作者:李白
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。hello worldalex
4.文件其他操作
f = open('jingyesi', 'r', encoding='utf-8')
print(f.read(5))
print(f.read(5))
输出:静夜思
作
者:李白
f = open('jingyesi', 'r', encoding='utf-8')
print(f.readline())
print(f.readline())
f = open('jingyesi', 'r', encoding='utf-8')
print(f.readlines())
输出结果:['静夜思\n', '作者:李白\n', '床前明月光,\n', '疑是地上霜。\n', '举头望明月,\n', '低头思故乡。hello worldalex']
f = open('jingyesi', 'r', encoding='utf-8')
# a = f.readlines()
# print(f.readlines())
for i in f.readlines():
print(i)
输出:静夜思
作者:李白
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。hello worldalex 解释:print有自动换行功能
f = open('jingyesi', 'r', encoding='utf-8')
# a = f.readlines()
# print(f.readlines())
for i in f.readlines():
print(i.strip())
输出:静夜思
作者:李白
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。hello worldalex
f = open('jingyesi', 'r', encoding='utf-8')
# a = f.readlines()
# print(f.read())
# print(f.readlines())
number = 0
for i in f.readlines():
number += 1
if number == 6:
print(i.strip(),'ilikeit')
else:
print(i.strip())
输出:静夜思
作者:李白
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。hello worldalex ilikeit
程序简化:
f = open('jingyesi', 'r', encoding='utf-8')
# a = f.readlines()
# print(f.read())
# print(f.readlines())
number = 0
for i in f.readlines():
number += 1
if number == 6:
i = i.strip()+'ilikeit' #i=''.join([i.strip(),'ilikeit']) i=''.join((i.strip(),'ilikeit'))
# print(i.strip(),'ilikeit')
print(i.strip())
f = open('jingyesi', 'r', encoding='utf-8')
for i in f:
print(i.strip())
输出:静夜思
作者:李白
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。hello worldalex
readlines 不好,最好用下面这种
f = open('jingyesi', 'r', encoding='utf-8')
for i in f: #这是for内部将f对象做成一个迭代器,用一行取一行
print(i.strip())
f = open('jingyesi', 'r', encoding='utf-8')
number = 0
for i in f: #这是for内部将f对象做成一个迭代器,用一行取一行
number += 1
if number == 6:
i = i.strip() + 'ilikeit'
print(i.strip())
输出:
静夜思
作者:李白
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。hello worldalexilikeit
f = open('jingyesi', 'r', encoding='utf-8')
print(f.tell())
print(f.read(10))
print(f.tell())
输出:0
静夜思
作者:李白
f = open('jingyesi', 'r', encoding='utf-8')
print(f.tell())
print(f.read(10))
print(f.tell())
f.seek(0)
print(f.read(3))
输出:0
静夜思
作者:李白
28
静夜思
文件遍历
import sys, time
for i in range(30):
sys.stdout.write('*')
sys.stdout.flush()
time.sleep(0.2)
import sys,time
for i in range(30):
print('*', end='', flush=True)
time.sleep(0.1)
f.truncate()
文件操作的with方法
with open('libai', 'r', encoding='utf8') as f:
f.readline()
print('hello')