博文

Python - 正则表达式

一、使用正则和不使用正则区别 在不使用正则的情况下来匹配一个电话号码: #在一段文本中查找电话号码 例 331-896-7854 def isPhoneNumber(number): if len(number) != 12: #首先检查电话号码是否是12位数 return False for i in range(0,3): if not number[i].isdecimal(): #判断前三位是不是数字 return False if number[3] != '-': #判断第四位是不是 - return False for i in range(4,7): if not number[i].isdecimal(): return False if number[7] != '-': return False for i in range(8,12): if not number[i].isdecimal(): return False return True text = 'you can contact me at 331-896-7854. 400-400-8888 is my office' #待查找的文字 for i in range(len(text)): check = text[i:i+12] #因为电话号码是12位,所以将每段12个字符传入 判断 if isPhoneNumber(check): print('the phone number found:' + check) print('Done') 执行后 the phone number found:331-896-7854 the phone number found:400-400-8888 Done 使用正则来匹配 phoneNumRegex = re.compile(r'\d\d\d-\d\d\d...

Python - logging 模块

图片
用于便捷记录日志且线程安全的模块 1、单文件日志 import logging logging.basicConfig(filename='log.log', format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S %p', level=10) #这里建议写成 level=logging.info 或者其他的 logging.debug('debug') logging.info('info') logging.warning('warning') logging.error('error') logging.critical('critical') logging.log(10,'log') #可以自定义level 值 CRITICAL = 50 FATAL = CRITICAL ERROR = 40 WARNING = 30 WARN = WARNING INFO = 20 DEBUG = 10 NOTSET = 0 注:只有【当前写等级】大于【日志等级】时,日志文件才被记录。 日志记录格式: 2、多文件日志 对于上述记录日志的功能,只能将日志记录在单文件中,如果想要设置多个日志文件,logging.basicConfig将无法完成,需要自定义文件和日志操作对象。 # 定义文件 file_1_1 = logging.FileHandler('l1_1.log', 'a', encoding='utf-8') fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s") file_1_1.setFo...

Python - shutil 模块

shuti 是一个高级的 文件、文件夹、压缩包 内置处理模块 shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中 import shutil shutil.copyfileobj(open('old.xml','r'), open('new.xml', 'w')) shutil.copyfile(src, dst) 拷贝文件 shutil.copyfile('f1.log', 'f2.log') shutil.copymode(src, dst) 仅拷贝权限。内容、组、用户均不变 shutil.copymode('f1.log', 'f2.log') shutil.copystat(src, dst) 仅拷贝状态的信息,包括:mode bits, atime, mtime, flags shutil.copystat('f1.log', 'f2.log') shutil.copy(src, dst) 拷贝文件和权限 import shutil shutil.copy('f1.log', 'f2.log') shutil.copy2(src, dst) 拷贝文件和状态信息 import shutil shutil.copy2('f1.log', 'f2.log') shutil.ignore_patterns(*patterns) shutil.copytree(src, dst, symlinks=False, ignore=None) 递归的去拷贝文件夹 import shutil shutil.copytree('folder1', 'folder2', ignore=shutil.ignore_patterns('*.pyc', 'tmp*')) import shutil shutil.copytree('f1',...

Python - configparser 模块

configparser用于处理特定格式的文件,其本质上是利用open来操作文件。 [section1] # 节点 k1 = v1 # 值 k2:v2 # 值 [section2] # 节点 k1 = v1 # 值 1.获取所有节点 import configparser config = configparser.ConfigParser() config.read('file',encoding='utf-8') ret = config.sections() print(ret) 2.获取指定节点下所有的键值对 import configparser config = configparser.ConfigParser() config.read('file',encoding='utf-8') ret = config.items('section1') 3.获取指定节点下的所有键 import configparser config = configparser.ConfigParser() config.read('file',encoding='utf-8') ret = config.options('section1') print(ret) 4.获取指定节点下指定的key的值 import configparser config = configparser.ConfigParser() config.read('file', encoding='utf-8') v = config.get('section1', 'k1') # v = config.getint('section1', 'k1') # v = config.getfloat('section1', 'k1') # v = config.getboolean('section1', 'k1') print(v) ...

三星xpress M2070W 如何连接 WiFi

一、实现WiFi打印功能,步骤: 先把打印机和电脑通过USB数据线连接好,并且无线路由器和电脑也处于接通状态,然后同时按住机器上的【WPS】按键与路由器上的【WPS】或【QSS】按键10秒钟左右,当机器无线网络状态灯蓝灯闪烁即可松手,此时打印机与电脑会自动连接成功。连接成功后打印机会自动打印网络配置页(可以预先放张纸),上面会有打印机的IP地址、子网掩码及网关(如机器没自动打印配置页,可按住【WPS】键15秒钟手动打印)。 连接成功后,安装随机光盘里的打印机驱动。 安装完成后,打印测试页即可。 二、实现NFC打印功能,步骤: 在打印机菜单中开启“WiFi开关和WiFi Direct”,开启此两项功能即可,打印机不用连接到网络。 在手机上开启NFC功能,型号不同操作有所不同,一般操作点击【设置】---【更多设置】---【NFC】---【开】。 打印机左下角有一张NFC功能的标贴,将已经开启NFC功能的手机放在标贴上。 放在NFC标志上后,手机会自动到下载Moblie Print软件界面。 若不下载Moblie Print软件也可以实现此功能,但是打印速度较慢,安装完成后再次将手机放到NFC标志上。 这时已经连接完成了,打开一张想打印的照片,点击print即可。(打印机与手机会自动以WIFI-Direct的方式连接)

Skype 常用命令

设定群组管理者(对话主持人)(拥有管理者权限的人员于群组对话输入以下指令) /setrole [Skype帐号] MASTER 显示目前聊天室所有用户及权限 /showmembers 显示目前帐号登入的装置 /showplaces 登出其它装置 /remotelogout 离开聊天室 /leave 向群组里添加成员 /add [Skype帐号] 移除群组成员 /kick [Skype帐号] 移除群组成员,此人无法加入此群 /kickban [Skype帐号] 呼叫群组(可以不受人数限制) /golive 在聊天室中搜索关键字 /find 更改聊天室的名字 /topic name 确认自己是不是创建者 /get creator 允许您指定需要什么出现在一个聊天的你要通知。例如, /alertson 伦敦 将只是警告您"伦敦"一词出现在聊天时。 /alertson [文本] 禁用消息通知 /alertsoff 查看管理员 /get admins 查询你在群中的角色 /get role 查询群组链接 /get url 在skype窗口中间显示你名字和发送的内容 /me [text] 设置允许加入聊天的成员。例如,/set allowlist + alex_cooper1将允许该成员加入聊天。 /set allowlist [[+|-]mask] 设置禁止加入聊天的成员。例如,/set banlist + alex_cooper1将禁止该成员加入聊天 /set banlist -alex_cooper1将允许他们重新加入。 /set banlist [[+|-]mask]

Python - 模块

模块,用一些代码实现了某个功能的代码集合。 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。 如:os 是系统相关的模块; 模块分为三种: 自定义模块 第三方模块 内置模块 一、time模块 >>> import time >>> time.sleep(1) #睡,后面指定秒数。 >>> time.time() #返回当前时间的时间戳,每个设备的时间戳都是从1970年1月1日开始算起 1503076001.620359 >>> time.ctime() #返回当前日期时间,字符串格式 'Fri Aug 18 19:12:28 2017' >>> time.gmtime() #得到struct_time格式的年月日,时分秒的数值,这个是格林威治时间 time.struct_time(tm_year=2017, tm_mon=8, tm_mday=18, tm_hour=17, tm_min=13, tm_sec=36, tm_wday=4, tm_yday=230, tm_isdst=0) >>> time.localtime() #当地时间 time.struct_time(tm_year=2017, tm_mon=8, tm_mday=18, tm_hour=19, tm_min=15, tm_sec=45, tm_wday=4, tm_yday=230, tm_isdst=1) >>> time.mktime(time.localtime()) #把struct_time格式的时间,转换为时间戳 1503076638.0 >>> time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) #把struct_time格式的时间转换为字符串格式 '2017-0...