python文件的增删改查操作

  1 def choice():
  2     print(‘‘‘
  3     1   查找
  4     2   删除
  5     3   添加
  6     4   修改
  7     ‘‘‘)
  8 def forlist():
  9     with open("test2", encoding="utf8", mode="r+") as w:
 10         for line in w:
 11             print(line.strip())
 12
 13
 14 def check():
 15     usr=input("输入你要查找的域名")
 16     l=[]
 17     flag=False
 18     with open("test",encoding="utf8") as f:
 19         for line in f:
 20             if line.startswith("backend") and usr in line:
 21                 flag = True
 22                 continue
 23             if line.startswith("backend") and flag:
 24                 break
 25             if flag:
 26                 l.append(line.strip())
 27         for i in l:
 28             print (i)
 29
 30 def remove():
 31     usr=input("输入你要移除的域名")
 32     flag = True
 33     # www.oldboy1.org
 34     with open("test", encoding="utf8") as f:
 35         with open("test2", encoding="utf8", mode="r+") as w:
 36             for line in f:
 37                 if line.startswith("backend") and usr in line:
 38                     flag = False
 39                     continue
 40                 if line.startswith("backend"):
 41                     flag = True
 42                 if flag:
 43                     w.write(line)
 44             forlist()
 45
 46 def add():
 47     usr=input("输入你要添加的内容")
 48     print({‘bakend‘: ‘www.oldboy.org‘,
 49          ‘record‘: {‘server‘: ‘100.1.7.9‘, ‘weight‘: 20, ‘maxconn‘: 30}})
 50     arg=eval(usr)
 51     add = """%s %s
 52             %s %s %s %s %s %s %s
 53     """ % (‘bakend‘, arg[‘bakend‘], ‘record‘, ‘server‘, arg[‘record‘][‘server‘],
 54            ‘weight‘, arg[‘record‘][‘weight‘], ‘maxconn‘, arg[‘record‘][‘weight‘])
 55     flag = True
 56     with open("test1", encoding="utf8", mode="r+") as f, open("test2", encoding="utf8", mode="w+") as w:
 57         for line in f:
 58             if line.startswith("backend") and "www.oldboy1.org" in line:
 59                 w.write(add)
 60                 print()
 61             if line.startswith("backend"):
 62                 flag = True
 63             if flag:
 64                 w.write(line)
 65         forlist()
 66
 67 def change():
 68     usr=input("输入你要修改的内容")
 69     arg=eval(usr)
 70     print({‘bakend‘: ‘www.oldboy.org‘,‘record‘: {‘server‘: ‘100.1.7.9‘, ‘weight‘: 20, ‘maxconn‘: 30}})
 71     add = """%s %s
 72             %s %s %s %s %s %s %s
 73     """ % (‘bakend‘, arg[‘bakend‘], ‘record‘, ‘server‘, arg[‘record‘][‘server‘],
 74            ‘weight‘, arg[‘record‘][‘weight‘], ‘maxconn‘, arg[‘record‘][‘weight‘])
 75     # usr=input(">>>")
 76     flag = True
 77     with open("test1", encoding="utf8", mode="r+") as f, open("test2", encoding="utf8", mode="w") as w:
 78         for line in f:
 79             if line.startswith("backend") and ‘www.oldboy1.org‘ in line:
 80                 flag = False
 81                 continue
 82             if line.startswith("backend"):
 83                 w.write(add)
 84                 flag = True
 85             if flag:
 86                 w.write(line)
 87         forlist()
 88
 89 def main():
 90     while True:
 91         choice()
 92         usr=input("输入你要做的操作")
 93         if usr=="1":
 94             check()
 95         elif usr=="2":
 96             remove()
 97         elif usr=="3":
 98             add()
 99         elif usr=="4":
100             change()
101         elif usr=="q":
102             break
103 main()

文件操作

在文件的操作中,必须注意文件的修改和增加都不会在源文件中进行插入写入操作,而是需要定义新的文件来接受源文件值及修改内容,然后对文件进行更名后替换源文件

python的文件操作使用函数open对文件进行打开操作

例如open,格式如下:

        f=open("文件名",encoding="解码格式",mode="文件的打开模式")   

当文件打开时,需要注意文件的编码方式,而文件默认的编码方式会以操作系统的编码方式一致,如果文件编码方式与解释器不同,需要对文件进行编码后才能顺利打开

在python中,文件的打开模式有:

    r  读模式    文件会以只读方式打开,无法对文件进行写操作

    w  写模式  文件会以写入模式打开,由于文件存储的特性,写模式会以覆盖源内容的方式对文件进行写操作

    a  追加模式   文件内添加新的内容不会覆盖源文件内容,会以内容追加方式添加到新的文件中

    r+  读写模式,文件在读的基础上对文件进行文件写入

    w+  读写模式,文件添加会覆盖源内容

    a+  追加读写模式

在python文件操作中,文件的读模式在读取文件时,会以字符位读取文件

在python2.0版本中,文件的读取模式在读取文件是会以字节位读取

未完待续……

时间: 2024-12-26 11:03:25

python文件的增删改查操作的相关文章

python文件 的增删改查操作

文件的读写 (重点) # f=open("500 Miles",encoding="utf-8").read() # f=open("500 Miles",,"a"encoding="utf-8") a是append追加 会打开500 Miles文件,但是不会覆盖之前的内容,并且可以在之后写东西 #f=open(" new 500 Miles","w",encodin

使用logging模块实现对文件增删改查操作的纪录(low B版)

#!/usr/bin/env python#对之前文件进行的增删改查操作实现日志操作,日志输出用户进行过的操作.#!/usr/bin/env pythondef log(): import logging logger_obj=logging.getLogger() logger_obj.setLevel(logging.INFO) fh=logging.FileHandler('log.txt') ch=logging.StreamHandler() logger_obj.addHandler

Python基础-----实现文件的增删改查

实现文件的增删改查 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 import os 4 def file_handler(backend_data,res = None,type = 'fetch'): #文件处理函数 5 if type == 'fetch': #查询操作 6 with open('haproxy.conf','r') as read_f: 7 tag = False #初始状态标识 8 ret = [] #用于放置查询

48.Python中ORM模型实现mysql数据库基本的增删改查操作

首先需要配置settings.py文件中的DATABASES与数据库的连接信息, DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'orm_intro_dem', 'USER': 'root', 'PASSWORD': 'root', 'HOST': '127.0.0.1', 'PORT': '3306', } } 之后将创建的app添加到settings.py文件中的INSTALLED_APPS中

基于Java的XML文件模拟数据库进行增删改查操作

我们知道XML文件既可以用来进行数据的传输,也可以配合DTD约束文件用来作为配置文件,当然其本质就是一个加了标签以及众多空格保持格式的字符串,那么就可以用Java进行操作. 本例是使用MyEclipse带入DOM4j解析时要用的jar包的基础上做的:当然DOM4j相对于DOM SAX 等解析方式的方便程度是不言而喻的. 下面是本次用例XML文件 <?xml version="1.0" encoding="UTF-8"?> <persons> 

python基础入门---数列的一些增删改查操作

数列的一些增删改查操作 import copy names = ["aa","bb","cc","dd"] print(names) print(names[1],names[2]) print(names[0:2])#切片,要头不要尾 print(names[:2])#和上一个结果一样 print(names[-1])#切片,取倒数第一个 print(names[-2])#切片,取倒数第二个 print(names[-2:]

作业员工信息表实现增删改查操作

有以下员工信息表 当然此表你在文件存储时可以这样表示 1 1,Alex Li,22,13651054608,IT,2013-04-01 现需要对这个员工信息文件,实现增删改查操作 可进行模糊查询,语法至少支持下面3种: select name,age from staff_table where age > 22 select  * from staff_table where dept = "IT" select  * from staff_table where enroll

Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面进行描述.参考前文: Java+MyEclipse+Tomcat (一)配置过程及jsp网站开发入门 Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交 Java+MyEclipse+Tomcat (三)配置MySQL及查询数据显示在JSP网页中 Java+MyE

【greenDAO3】 项目搭建与增删改查操作

最近需要开始一个新的项目了,考虑到既然是新项目了,那么一些常用的框架肯定也要用当下最火的!这次的新项目中涉及到了本地数据存储,很早前有个项目的本地数据库框架用的是ActiveAndroid,github找了下这个框架,发现已经两年多已经没有更新了.然后就想到了一直没有时间去涉及到的greenDAO,github一搜索,哦呦?star有5000+,并且依然保持着很高的更新频率,并且性能远远的高于activeAndroid(见下图),果断选用. 刚开始想偷偷懒,大致浏览了下greenDAO官网后就开