python string与list互转

因为python的read和write方法的操作对象都是string。而操作二进制的时候会把string转换成list进行解析,解析后重新写入文件的时候,还得转换成string

import string

str = 'abcde'

list = list(str)

list

['a', 'b', 'c', 'd', 'e']

str

'abcde'

str_convert = ''.join(list)

str_convert

'abcde'

一、集合操作:交差并、对称差集;add,update,discard

 

二、检测密码的复杂度:

  1. 集合的交集和不重复性
  2. String模块提供的字符
  3. 字符串通过下标取值
  4. 字符串/数组通过set()方法转化成集合

#-*-coding:utf-8-*-
#校验密码复杂度:密码必须由数字、大小写字母特殊字符组成,且不能是数字开头
import  string
all_num = set(string.digits)#0~9
all_upper = set(string.ascii_uppercase)#所有的大写字母
all_lower = set(string.ascii_lowercase)#所有的小写字母
all_punctuation = set(string.punctuation)#所有的特殊字符

pwd = input("pwd:")
set_pwd = set(pwd)
if set_pwd & all_num and set_pwd & all_upper and set_pwd & all_lower and set_pwd & all_punctuation :
    if not all_num & set(pwd[0]):
        print("校验密码复杂度合格")

文件操作:文件编码、当前指针位置、清空文件

三、监控日志:

  1. 使用with open()打开文件使用完后可以自动关闭不需要人为close()
  2. file.tell()#获取当前指针的位置
  3. 用for k in 字典名称直接遍历字典中的key;用for k,v in 字典名称直接遍历字典中的key,value;for k in user_info.items()获取字典中每一个key-vlaue('age', '23')对
  4. Time.sleep(60)间歇性循环执行程序

#-*-coding:utf-8-*-
#监控日志:监控一分钟内恶意攻击该服务器的ip
# 1.统计一分钟内每个ip的个数
#2.找到这些个ip个数>=100
#3.输出警告这些ip存在恶意攻击的可能。
import  time
point = 0#设置文件指针初始位置
while True:
    with open('access.log','r+') as fread:
        ip_info = {}#定义个字典ip_info={"10.4.25.122":34}
        fread.seek(point)
        for line in fread:
            ip = line.split(' - - ')[0]#根据日志文件形式拆分出ip
            if ip_info.get(ip) :
                ip_info[ip]+=1
            else:
                ip_info[ip]=1
        point = fread.tell()#获取当前指针的位置
        print('当前指针的位置:%s'%point)
    for k in ip_info:#直接遍历字典中的key
        if ip_info.get(k)>=100:
            print('IP在攻击你%s'%ip_info.get(k))
    time.sleep(60)#睡眠60

============================================================================================================

自定义函数:

https://www.jb51.net/article/83452.htm

第四周作业:

https://coding.net/u/yun_yuan/p/Python_BestTest/git/tree/master/day04/zuoye

Python学习笔记(三):文件和集合操作的更多相关文章

  1. python学习笔记(三):文件操作和集合

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...

  2. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

  3. Liunx学习笔记(三) 文件权限

    一.文件权限 1.查看文件权限 (1)文件权限 在 Linux 中对于文件有四种访问权限,列举如下: 可读取:r,Readable 可写入:w,Writable 可执行:x,Execute 无权限:- ...

  4. [Python学习笔记]组织文件

    shutil 模块 shutil 模块可以让我们很方便的在Python程序中复制.移动.改名和删除文件. 复制文件和文件夹 使用shutil.copy()来复制文件,该函数含两个参数,均为字符串格式的 ...

  5. Python学习笔记之文件处理

    1.打开和关闭 要打开文件可以使用函数 open(),它位于自动导入模块 io 中.函数将文件名作为唯一不可缺少的函数,并返回一个文件对象.它还有一个名叫 mode 的参数,用于指定文件模式,其可取值 ...

  6. python学习笔记之文件操作(三)

    这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...

  7. Python学习笔记015——文件file的常规操作之一(文本文件)

    1 什么是文件 文件是用于数据存储的单位 文件通常用来长期保存数据 读写文件是最常见的I/O操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件的功能都是由操作系统提供的,一般而言,操 ...

  8. python学习笔记(六)---文件操作与异常处理机制

    文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...

  9. python学习笔记(11):文件的访问与函数式编程

    一.文本文件读写的三种方法 1.直接读入 file1 = open('E:/hello/hello.txt') file2 = open('output.txt','w') #w是可写的文件 whil ...

  10. python学习笔记(7)文件的访问与函数式编程

    一.文件读写的3中方法 1.直接读入 fiel1=open('test.txt') file2=open('output.txt') while True: line=file1.readLine() ...

随机推荐

  1. Python3基础(1)Python介绍、Python2 与Python3、变量、用户输入、if...else和for循环、while循环、break与continue

    ---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ P ...

  2. 查看Apache信息以用户htdoc位置

    查看Apache的相关信息:httpd -V 再从基本信息中取得DocumentRoot位置 less /etc/httpd/httpd.conf中查找DocumentRoot,即有静态文件存放的位置 ...

  3. spring boot整合redis,以及设置缓存过期时间

    spring-boot 整合 redis 注:redis服务器要先开启 pom文件: <dependency> <groupId>org.springframework.boo ...

  4. mysql decimal类型与decimal长度用法详解

    三者的区别介绍 float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位) double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E ...

  5. ArcGIS中经纬度数据转空间数据

    已有这样一批数据,后缀为.txt 或者.csv .现需要将其转化为空间数据. 转换过程: 打开ArcMap选择file——>Add Data——>Add XY Data 设置经纬度对应的字 ...

  6. Thymeleaf的模板使用介绍

    参考网址: https://blog.csdn.net/hry2015/article/details/73476973 先定义一个html文件, 如下: 文件路径: templates/templa ...

  7. 跨平台移动开发phonegap/cordova 3.3全系列教程-开发环境搭建

    操作系统:windwos xp 1.   安装JDK 打开如下网站下载JDK http://www.oracle.com/technetwork/java/javase/downloads/index ...

  8. JAVA时间加工类

    /** * 当天凌晨 */ public static Calendar startOfDay(Calendar c) { if (c == null) { return c; } c.set(Cal ...

  9. cmd中不能输入中文

    在命令行窗口下不能输入中文,只能输入英文,这是因为cmd.exe窗口启动时并没有启动conime.exe进程.事实上,这个进程容易被后门病毒利用,因此网上很多人都把它当成病毒看待,一些网上下载的系统就 ...

  10. hiho一下 第三十八周 二分答案

    题目链接:http://hihocoder.com/contest/hiho38/problem/1 ,挺难想的解题思路,好题. 按照提示的算法来: 我们需要找什么? 在这个题目中我们需要找的是路径最 ...