Python

在Python中操作文件之read()方法的使用教程

read()方法读取文件size个字节大小。如果读取命中获得EOF大小字节之前,那么它只能读取可用的字节。语法以下是read()方法的语法:fileObject.read(size);参数size--这是可以从文件中读取的字节数。返回值此方法返回读取字符串中的字节数。例子下面的例子显示了read()方法的使用。#!/usr/bin/python#Openafilefo=open("foo.txt","rw+")print"Nameofthefile:",f

系统 2019-09-27 17:46:26 2023

Python

Python监控主机是否存活并以邮件报警

利用Python写了简单测试主机是否存活脚本,此脚本不适于线上使用,因为网络延迟、丢包现象会造成误报邮件,那么后续会更新判断三次ping不通后再发报警邮件,并启用多线程处理。#!/usr/bin/envpython#coding:UTF-8importtimeimportpexpectimportsmtplibfromemail.mime.textimportMIMETextmail_host="smtp.163.com"#定义smtp服务器mail_to

系统 2019-09-27 17:38:23 2023

Python

用Python的Flask框架结合MySQL写一个内存监控程序

这里以监控内存使用率为例,写的一个简单demo性程序,具体操作根据51reboot提供的教程写如下。一、建库建表创建falcon数据库:mysql>createdatabasefalconcharactersetutf8;QueryOK,1rowaffected(0.00sec)创建内存监控使用的表stat,表结构如下:CREATETABLE`stat`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT,`host`varc

系统 2019-09-27 17:37:58 2023

Python

python 面向对象之封装

封装面向对象三大特性:继承封装多态隐藏对象的属性和实现细节,仅对外提供公共访问方法广义上的封装:把方法和变量都封装在类中狭义上的封装:在类的外部干脆不能调用了优点将变化隔离便于使用提高复用性提高安全性封装原则:将不需要对外提供的内容隐藏起来把属性都隐藏,提供公共方法对齐访问私有变量和私有方法在python中用双下划线开头的方式将属性隐藏起来(设置成私有的)代码实例#其实这仅仅这是一种变形操作#类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的

系统 2019-09-27 17:56:45 2022

Python

Python入门之三角函数sin()函数实例详解

描述sin()返回的x弧度的正弦值。语法以下是sin()方法的语法:importmathmath.sin(x)注意:sin()是不能直接访问的,需要导入math模块,然后通过math静态对象调用该方法。参数x--一个数值。返回值返回的x弧度的正弦值,数值在-1到1之间。实例以下展示了使用sin()方法的实例:#!/usr/bin/pythonimportmathprint"sin(3):",math.sin(3)print"sin(-3):",math.s

系统 2019-09-27 17:53:29 2022

Python

python2.7.13和matplotlib2.2.0出错

问题如下ExceptioninTkintercallbackTraceback(mostrecentcalllast):File"C:\Python27\lib\lib-tk\Tkinter.py",line1542,in__call__returnself.func(*args)File"C:\Users\11782\AppData\Roaming\Python\Python27\site-packages\matplotlib\backends\bac

系统 2019-09-27 17:53:25 2022

Python

python爬虫解决验证码的思路及示例

如果直接从生成验证码的页面把验证码下载到本地后识别,再构造表单数据发送的话,会有一个验证码同步的问题,即请求了两次验证码,而识别出来的验证码并不是实际需要发送的验证码。有如下几种方法解决。法1:用session:mysession=requests.Session()login_url='http://xxx.com'checkcode_url='http://yyy.com'html=mysession.get(login_url,timeout=60*

系统 2019-09-27 17:52:42 2022

Python

Python是编译运行的验证方法

虽然Python被说成是一种解释型语言,但是实际上,Python源程序要先经过编译,然后才能运行。与Java语言类似,Python源程序编译之后得到的是字节码,交由Python虚拟机来运行。关于这一点,我们可以这样来验证:复制代码代码如下:#!/usr/bin/pythonprint"position1"1_syntax_error_identifierprint"position2"将它保存为program.py,然后在shell窗口中运行它:复制代码代

系统 2019-09-27 17:52:41 2022

Python

Python Web Flask源码解读(四)——全局变量

关于我一个有思想的程序猿,终身学习实践者,目前在一个创业团队任teamlead,技术栈涉及Android、Python、Java和Go,这个也是我们团队的主要技术栈。Github:https://github.com/hylinux1024微信公众号:终身开发者(angrycode)Flask中全局变量有current_app、request、g和session。不过需要注意的是虽然标题是写着全局变量,但实际上这些变量都跟当前请求的上下文环境有关,下面一起

系统 2019-09-27 17:52:39 2022

Python

Python 命令行之旅:使用 argparse 实现 git 命令

Python命令行之旅:使用argparse实现git命令作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用arg

系统 2019-09-27 17:52:36 2022

Python

Python实现在Linux系统下更改当前进程运行用户

在上一篇文章中,我们讲了如何在linux上用python写一个守护进程。主要原理是利用linux的fork函数来创建一个进程,然后退出父进程运行,生成的子进程就会成为一个守护进程。细心观察的可能会发现,这个守护进程的运行身份是执行这个程序的用户,如果把这个守护程序加入到系统的服务项,那么这个守护程序的执行身份应该是root。一个情况出现了,root的权限比较大,如果通过这个root身份的守护程序来进行操作,危险性是比较大的。一种好的办法是生成一个身份为ro

系统 2019-09-27 17:52:32 2022

Python

Python实现抓取城市的PM2.5浓度和排名

主机环境:(Python2.7.9/Win8_64/bs4)利用BeautifulSoup4来抓取www.pm25.com上的PM2.5数据,之所以抓取这个网站,是因为上面有城市PM2.5浓度排名(其实真正的原因是,它是百度搜PM2.5出来的第一个网站!)程序里只对比了两个城市,所以多线程的速度提升并不是很明显,大家可以弄10个城市并开10个线程试试。最后吐槽一下:上海的空气质量怎么这么差!!!PM25.py复制代码代码如下:#!/usr/bin/envp

系统 2019-09-27 17:51:23 2022

Python

千万不要错过这几道Python面试题,Python面试题No16

第1题:python下多线程的限制以及多进程中传递参数的方式?python多线程有个全局解释器锁(globalinterpreterlock),简称GIL,这个GIL并不是python的特性,他是只在Cpython解释器里引入的一个概念,而在其他的语言编写的解释器里就没有这个GIL例如:Jython。这个锁的意思是任一时间只能有一个线程运用解释器,跟单cpu跑多个程序一个意思,我们都是轮着用的,这叫“并发”,不是“并行”。为什么会有GIL?多核CPU的出现

系统 2019-09-27 17:50:37 2022

Python

Python 類和對象 Class vs Object

類別定義class類別名:例如:>>>classPoint:...x=0.0...y=0.01.宣告>>>p1=Point()>>>p1.x,p1.y(0.0,0.0)2.賦値>>>p1.x=5.0>>>p1.y=6.0>>>p1.x,p1.y(5.0,6.0)3.位址指向>>>p1<__main__.Pointobjectat0x00000000021B22E8>>>>id(p1.x)30060832>>>id(p1.y)300608084.別名Alia

系统 2019-09-27 17:50:30 2022

Python

详解Python文件修改的两种方式

文件的数据是存放于硬盘上的,因而只存在覆盖、不存在修改这么一说,我们平时看到的修改文件,都是模拟出来的效果,具体的说有两种实现方式。一、方式一将硬盘存放的该文件的内容全部加载到内存,在内存中是可以修改的,修改完毕后,再由内存覆盖到硬盘(word,vim,nodpad++等编辑器)。importoswithopen('37r.txt')asfr,\open('37r_swap.txt','w')asfw:data=fr.read()#全部读入内存,如果文件很

系统 2019-09-27 17:50:22 2022