zoukankan      html  css  js  c++  java
  • 文件处理

    碎碎念:自私是共同获益的原动力

    问题:代理两难
    代理两难出现在,委托-代理模式中,委托者有所有权,代理者有经营权。矛盾点出现在双方都觉得收益应该归自己。
    再有就是“荆棘效应”,代理者做的越好,委托者第二年越会提高指标。代理者最优选择是想办法降低委托者的预期,即使会损失市场

    解决方法:激励相容
    对于创业公司,委托者面对风险,所以要求代理者(总经理)必须购买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,没有意义
    f = open("myfile",'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()
  • 相关阅读:
    T-SQL---多值模糊查询的处理
    SQL Server 并行操作优化,避免并行操作被抑制而影响SQL的执行效率
    SQL Server创建复合索引时,复合索引列顺序对查询的性能影响
    Sql Server 聚集索引扫描 Scan Direction的两种方式------FORWARD 和 BACKWARD
    Sql Server 内存相关计数器以及内存压力诊断
    通过手动创建统计信息优化sql查询性能案例
    对聚集表查询的时候,未显式指定排序列的时候,默认查询结果的顺序一定是按照聚集索引顺序排序的吗
    Buffer cache hit ratio性能计数器真的可以作为SQL Server 内存瓶颈的判断指标吗?
    sqlserver 存储过程中使用临时表到底会不会导致重编译
    权限 位运算
  • 原文地址:https://www.cnblogs.com/fengdao/p/6009982.html
Copyright © 2011-2022 走看看