zoukankan      html  css  js  c++  java
  • Python初识文本基本操作

    初识文本的基本操作

    怎么在文件里面写内容和都内容

    文件操作过程

    1,找到文件

       文件路径

    2,打开文件

       file_obj=file(文件路径,模式)

    3,文件操作,读写文件

       file_obj.read()  #将所有读入内存

       file_obj.readlines() #将所有读入内存然后按照一行行隔开,会得到一个一行为单位的列表

       for line in file_obj:

      #每次循环,只读一行。避免全部读入内存

      file_obj.write()  #写

      file_obj.writeline() #一行行写

    4,关闭文件

      file_obj.close()

    file_obj = file ("文件路径","模式")

    打开文件的模式有:

    .r,以只读方式打开文件

    .w,打开一个文件只用于写入

    .a,打开一个文件用于追加

    .rw 打开一个文件用于读写

    操作

    新建一个log.txt 内容如下

    alex;123;1
    eric;456;2
    新建一个脚本file_test.py

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    file_obj = file('/server/scripts/log.txt','r')
    print file_obj.read()
    file_obj.close()

    执行 全部读取出来了

    python file_test.py
    alex;123;1
    eric;456;2
    把read修改成readlines然后执行 按照列表方式读取出来

    python file_test.py
    ['alex;123;1 ', 'eric;456;2 ']

    修改代码

    #!/usr/bin/python
    # -*- coding:utf-8 -*-
    file_obj = file('/server/scripts/log.txt','r+')
    #print file_obj.read()
    #print file_obj.readlines()
    line_list = file_obj.readlines()
    my_list = []
    for ele in line_list:
            line = ele.strip()
            #ele为字符串'alex;123;1 '去掉尾部的换行 line='alex;123;1'
            value_list = line.split(';')
            #使用;作为分隔符生成一个列表value_list为='alex','123','1']
            last_value = int(value_list[-1])
            #把尾部字符1转换成数值赋值给last_value
            last_value += 1
            #last_value自增1为2
            value_list[-1] = str(last_value)
            #把自增数值为2在抓换成字符赋值给最后一位value_list=['alex','123','2']
            value_str = ';'.join(value_list)
            #使用;作为连接符把列表转换成字符串value_str='alex;123;2'
            my_list.append(value_str)
            #空的列表赋值my_list=['alex;123;2']一个元素为alex;123;2
    my_str = ' '.join(my_list)
            #使用换行符 作为连接符号拆分列表,前面执行过两次循环了my_list=['alex;123;2','eric;456;3']
            #拆分以后变成字符串才能写入到文件my_str='alex;123;2 eric;456;3'
    file_obj.write(my_str)
            #把my_str字符串写入到文件log.txt
    file_obj.flush()
    file_obj.close()

    执行

    python file_test.py
    屏幕没有输出但是文件log.txt内容变了(把最后一行数值加1追加到尾部)
    alex;123;1
    eric;456;2
    alex;123;2
    eric;456;3

  • 相关阅读:
    c# 委托
    datagrid加下拉列表dropdownlist
    MySQL存储过程的基本函数(三)
    MySQL存储过程详解 mysql 存储过程(二)
    MySQL存储过程(一)
    SFTP 文件上传下载引用代码
    JAVA SFTP文件上传、下载及批量下载
    java中遍历MAP的几种方法
    POSTGRESQL 导入导出
    db2move 数据导出整理
  • 原文地址:https://www.cnblogs.com/minseo/p/6700292.html
Copyright © 2011-2022 走看看