碎碎念:自私是共同获益的原动力
问题:代理两难
代理两难出现在,委托-代理模式中,委托者有所有权,代理者有经营权。矛盾点出现在双方都觉得收益应该归自己。
再有就是“荆棘效应”,代理者做的越好,委托者第二年越会提高指标。代理者最优选择是想办法降低委托者的预期,即使会损失市场
解决方法:激励相容
对于创业公司,委托者面对风险,所以要求代理者(总经理)必须购买10%的股份,核心团队买15%,这样对于能干的人,肯定不怕出钱。
对于母公司,要求出资50%,母公司高管也出资25%,不投立即开除。因为母公司和子公司会有业务往来,用到母公司资源。
激励相容,就是承认人性的自私,用正确的机制,让“自私”,而不是“集体主义精神”,成为大家共同获益的原动力
文件的操作
本质就是把文件内存对象读取到一个变量里,f就是那个变量,之后再对文件进行操作,如read,readline等
f = open("lyrics",encoding='utf-8') #读取文件内存对象
基本方法
读
f.read() #读取文件内容,将文件内容都读取到内存中
f.readline() #读取文件一行信息
f.readlines() #读取所有行,用列表展示出来,一行为一个元素
for index,line in enumerate(f.readlines()): #读取前5行(注意,效率低!不建议使用)
if index < 5:
print(line)
else:
break
写
f = open("myfile",'w',encoding='utf-8') #创建写模式,会覆盖原有文件,不能读取文件
f.write("我爱北京")
f.close()
追加
f = open("myfile",'a',encoding='utf-8') #追加模式,不会覆盖原有文件,不能读取文件
f.write("我爱北京")
f.close()
其他操作
print(f.closed) #判断文件是否关闭,在操作文件前,可以先判断一下文件是否关闭
print(f.encoding) #判断文件字符编码
f.flush() #强制写入到硬盘中
f.name #打印文件名
f.isatty() #判断是否为设备文件
f.seek(10) #把光标向后移动10个字符
f.tell() #打印光标位置
f.truncate() #截断,用r+模式打开,主要用于二进制文件的截断,例如做断点续传
关于读写的混合模式
#读写——如果读了,那就从最底下一行追加;如果没读,则从头读取,并覆盖原有文件
f = open("myfile",'r+')
print(f.readline())
f.write("insert\n")
f.close()
#写读——等同于w,没有意义
#追加读——和a效果一样,没有意义
f = open("myfile",'a+')
print(f.readline())
f.write("insert\n")
f.close()
常用姿势汇总!!!!
常用姿势汇总!!!!
常用姿势汇总!!!!
读一行
f.readline().strip() #将一行的空格和换行去掉
读取前5行,方法一
f = open("lyrics",encoding='utf-8')
for i in range(5): #读取前5行,注:一行行的读取
print(f.readline().strip())
f.close()
读取前5行,方法二
f = open("lyrics",encoding='utf-8')
line_nu = 0 #读取前5行,注:一行行的读取
for line in f:
if line_nu < 5:
print(line.strip())
line_nu += 1
f.close()
#费硬盘的修改方式
f = open("lyrics",'r',encoding="utf-8")
f2 = open("lyrics_new",'w',encoding="utf-8")
find_str = "夜晚的"
new_str = "白天的寒冷的"
for line in f:
if find_str in line:
line = line.replace(find_str,new_str)
f2.write(line)
f.close()
f2.close()
#费内存的修改方式
f = open("lyrics",encoding="utf-8")
content = f.readlines()
f.close()
find_str = "夜晚的"
new_str = "白天的寒冷的"
f = open("lyrics",'w',encoding="utf-8")
for line in content:
if find_str in line:
line = line.replace(find_str,new_str)
f.write(line)
f.close()