观看的技术文来源:http://www.cnblogs.com/alex3714/articles/5717620.html
import sys
# data = open("yesterday",encoding='utf-8').read()#读取整个文件,在文件不大的情况
# print(data)
'''f = open("yesterday",encoding='utf-8') #文件句柄
data = f.readline()
print(data)
f = open ("yesterday2",'w',encoding='utf-8')#'w'实则是创建一个文件,会覆盖到原有文件的文件名,默认为'r'
#data = f.read()
#data2 = f.read()
#print(data)
f.write("WRTER")#io.UnsupportedOperation: not writable
f = open ("yesterday2",'a',encoding='utf-8')# 'a'=append 追加不覆盖原来的文件 io.UnsupportedOperation: not readable
f.write("\n 追加到新的一行\n")
data = f.read()
print('---read',data)
f = open("yesterday", encoding='utf-8')
# 打印前5行 方法一
for i in range(5):
print(f.readline())
for line in f.readline():
print(line.strip())
#文件修改 打开一个文件,修改完后到一个新的文件
f = open("yesterday",'r',encoding = 'utf-8')
f_new = open("yesterday2",'w',encoding ='utf-8')
find_str =sys.argv[1]#用shell 简单替换
replace_str = sys.argv[2]
for line in f:#一行一行写入line
if find_str in line :
line =line.replace(find_str,replace_str)
f_new.write(line)
f.close()
f_new.close()
#python开发规范 一行代码不多于80 个字符
#为了避免打开文件后忘记关闭,可以通过管理上下文,为了避免打开文件后忘记关闭,可以通过管理上下文
with open("yeaterday2",'r',encoding='utf-8') as f2 ,\
open("yeaterday", 'r', encoding='utf-8') as f:
for line in f:
print(line)
#面向对象:类->class
#面向对象:过程->def
#函数式编程:函数->def
打开文件的模式有:
- r,只读模式(默认)。
- w,只写模式。【不可读;不存在则创建;存在则删除内容;】
- a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
- r+,可读写文件。【可读;可写;可追加】
- w+,写读
- a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
- rU
- r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
- rb
- wb
- ab
'''