zoukankan      html  css  js  c++  java
  • python

    Python的第十二天

    一、混合模式操作文件

     1、w+ :写读,创建一个新文件,把写的内容读出来 

     2、r+ :读写,能读能写,写在文件的最后

     3、a+ :追加读

     问题:SyntaxError: positional argument follows keyword argument :参数位置不对

            f = open("人物联系方式",encoding='utf-8','r+')

     解决:

             f = open("人物联系方式","r+",encoding='utf-8')

    r+的例子:
    f = open("人物联系方式","r+",encoding='utf-8')
    print(f.readline())
    print(f.tell())
    f.seek(f.tell())------在指定光标处写
    f.write("又新来了一个人物。。")
    -------
    1、马先宇  深圳 173  50  13789023890
    又新来了一个人物。。 17809654890
    3、罗梦竹 北京 175 49 13478096709
    4、刘诺涵 北京 170 48 13465098907
    5、叶梓萱 上海 171 49 15798643098又新来了一个人物。。

    二、文件修改

    1、不覆盖,而是往后挤---打开文件,把内容都存到内存里
    f = open("人物联系方式","r+",encoding="utf-8")
    #1、把新数据加到内存
    data = f.read()
    new_date = data.replace("罗梦竹","欧阳娜娜")
    #2、清空文件
    f.seek(0)-------找到光标,将其定位在0
    f.truncate()-------截断文件,假如参数是100,100之后的全部清空
    #3、把新内容写回硬盘
    f.write(new_data)
    f.close()

    3、罗梦竹,北京 175 49 13478096709
    3、欧阳娜娜,北京 175  49  13478096709

    三、练习--开发全局文本检索替换脚本

    写一个脚本,允许用户按以下方式执行时,即可以对指定文件内容进行全局替换,且替换完毕后打印替换了多少处内容
    写完后的脚本调用方式:python your_script.py old_str new_str filename

    调用外部参数:
     import sys
    print(sys.argv) #调用外部参数

       (pythonProject4) C:Users86181PycharmProjectspythonProject4>python hello.py argv1 argv2 argv3
     ['hello.py', 'argv1', 'argv2', 'argv3']

     

    import sys
    print(sys.argv) #调用外部参数
    old_str = sys.argv[1]
    new_str = sys.argv[2]
    filename = sys.argv[3]
    #1、将文件读到内存里
    f = open("filename","r+")
    data = f.read()
    #2、count 和 replace
    old_str_count = data.count(old_str)
    new_data = data.replace(old_str,new_str)
    #3、清空文件
    f.seek(0)
    f.truncate()
    #4、将新数据写到文件里
    f.write(new_data)
    f.close()
    print(f"成功地将字符'{old_str}'替换成'{new_str}',共{old_str_count}处")


     


     

     

  • 相关阅读:
    如何计算两个日期之间相差天数
    解决并发问题的小技巧
    Linq实现下拉框绑定
    No DataType in DataTemplate in Windows Phone(二)
    使用TOAD操作oracle初步
    使用log4net记录server Log
    尘世一场烟火
    No DataType in DataTemplate in Windows Phone(—)
    MVC设置初始页时发生的无法找到资源的简单错误
    oracle 使用in的灵异事件
  • 原文地址:https://www.cnblogs.com/sxy2021/p/14368127.html
Copyright © 2011-2022 走看看