python编写poc_干货分享丨Python从入门到编写POC之读写文件
自发布了
今天与大家分享的是Python从入门到编写POC系列文章之读写文件,希望对大家学习有所帮助。
读写文件
读取键盘输入【raw_input( )或者input( )】
>>> demo = raw_input('INPUT:'); \ # \是在CMD中的换行符... print "content is" , demoINPUT:HELL0 MOMOcontent is HELL0 MOMO
打开或关闭文件,这里要用Python的内置函数open( ),然后创建一个file对象。
Python打开文件的模式:
r 以只读模式打开文件。
w 以只写模式打开文件,且先把文件内容清空(truncate the file first)wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 以添加模式打开文件,写文件的时候总是写到文件末尾,用seek也无用。打开的文件也是不能读的。
r+ 以读写方式打开文件,文件可读可写,可写到文件的任何位置。
w+ 和r+不同的是,它会truncate the file first。
a+ 和r+不同的是,它只能写到文件末尾。
一个文件被打开后,有一个file对象,可以得到有关该文件的各种信息,以下是一些使用方法:
file.closed 返回true如果文件已被关闭,否则返回false。
file.mode 返回被打开文件的访问模式。
file.name 返回文件的名称。
file.softspace 如果用print输出后,必须跟一个空格符,则返回false。否则返回true。
举个例子
>>> demo = open("MOMO.txt","wb")>>> print u'是否关闭:', demo.closed是否关闭:False>>> print u'访问模式:',demo.mode访问模式: wb>>> print u'文件名称:',demo.name文件名称:MOMO.txt>>> print u'末尾是否加空格:',demo.softspace末尾是否加空格:0
在txt中写入东西
>>> demo = open("MOMO.txt","wb")>>> demo.write("MOMO is My GODDESS!!!")>>> demo.close()
读txt中的内容
>>> demo1 = open("MOMO.txt","r")>>> demo1.readlines()['MOMO is My GODDESS!!!']
判断
我们开始用编辑器,这里小编用的编辑器是Sublime Text3。
咱们讲的是Python判断,先来看一个例子:
#coding = utf-8if 'MOMO' Love BZ': print Trueelse: print False
当判断条件成立时(非零),则执行后面的语句,所以就返回了True。
if 语句的判断条件可以用>(大于)、=(大于等于)、<=(小于等于)来表示其关系。
循环
While循环
格式为:
while 判断条件: 执行语句……
举个例子:
#coding=utf-8port = 1100while port < 1109: print "The PORT is:"+str(port) port = port + 1
PS:如果没有port=port+1,该循环将成为无限循环,通过Ctrl+C终止,当然了,while循环也有else语句,方法跟 if 语句差不多,这里就不演示了还有break和continue语句。
在循环过程中,break语句可以提前退出循环。
通过continue语句,跳过当前的这次循环,直接开始下一次循环。
不过根据经验来说,While循环出现的次数没有For循环多。
For循环
格式为:
for iterating_var in sequence: statements(s)
For循环的好处呢,比如你要算1+2+3+4+5手写还有解决。
当然也可以用Python,这里用到的就是For循环。
#coding = utf-8sum = 0for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + iprint sum
那如果是1+2+3+4+...+100呢?
这里咱们还用For循环,不过加了range( )函数,可以生成一个整数数列:
range(101)生成1-100的数
#coding = utf-8sum = 0for i in range(101): sum = sum +iprint sum
理解函数
在初中时代,数学课本是可以这么定义函数的:y=8x+6
在高中时代,就可以这么定义函数了:f(x)=8x+8
其中,x是什么呢?是变量,你想让它是啥数就是啥数。
当x=6时,f(6)=8*6+8=56
But,这并不是全部,其实在函数中,并没有规定函数是一个数,它可是任何东西。
变量的本质,你可以把他当作一个占位符,建立一个简单的函数,咱们现在Python的解释器操作:
>>> x = 8>>> y=8*x+8>>> y72
咱们在继续
>>> x = 6>>> y72
当x等于6时了,y=8*x+8为啥还是72呢?
x=8时含义将8这个对象贴上了变量x的标签,经过计算得到了72,然后变量y就引用了72;当x值变了时,但是y引用得对象还没有变,所以就还是72。
这里还“不正规”,咱们接下来就学习定义一个“正规”函数。
定义函数
函数
代码块以 def 关键词开头,def这个简写来自define,后接函数标识符名称和圆括号( )。
定义函数内容以冒号起始,然后必须缩进(四个空格或者一个tab键),定义函数格式为:
def 函数名(参数): 函数体
举个例子:
>>> def MOMO():... print 'HELL0 MOMO!!'...>>> MOMO() #调用MOMO这个函数HELL0 MOMO!!
在定义函数的时候,参数可以等你被赋值,也可以定义一个默认值。
#coding = utf-8def MOMO(a,b='BaZong'): print "a:",a print "b:",bMOMO('MOMO')print "--------------------------"MOMO(a='MOMO')
如果我不给变量b定义一个值,那么就会用BaZong这个值,那如果它传了一个新的值,那就会用新的那个值。
返回值
是不是感觉跟你见到的高大上的Python有一点差别,也许你们会注意到上面都是用print输出结果,用个求绝对值的栗子来引用返回值return。
#coding = utf-8def my_abs(x): if x >= 0: return x else: return -xif __name__ == '__main__': number = 666 print number
仔细看my_abs( )函数,有return x和return -x,意思就是将x/-x的值返回,返回给谁呢?
一般情况,要将返回的值传给一个变量,然后通过变量打印出来,如果没有,那就没有回显了。
return还有个作用,咱们在来通过一个例子看,我这里导入了base64模块。
#coding = utf-8import base64def demo(): str = "TU9NTyBpcyBhIGJlYXV0aWZ1bCBnaXJs" result = base64.b64decode(str) print result return print "KISS MOMO"demo()
两个print语句,只执行了return上面的那个,这是为什么呢?
第一个print语句遇到return,return告诉他自己要回家,即为返回,终止了第一个print的路程;然后就没有执行第二个print语句,你可以把它当成循环中的break。
全局变量and局部变量
通过例子来说明:
#coding = utf-8 a = 'momo'def demo(): a = 'BaZong' print "this a is",ademo()print "---------------"print "this a is",a
前一个print输出的函数内部的变量,后一个是外部的,像这样的,只在函数体内(某个范围内)起作用的就叫局部变量。
全局变量
#coding = utf-8 a = 'momo'def demo(): global a a = 'BaZong' print "this a is",ademo()print "---------------"print "this a is",a
这两个例子区别就是多了个global a,意思就是让a是全局变量,也就是说,外面跟里面的a都一样。
学任何一门程序语言的窍门都是要多练,多琢磨。
python编写poc_干货分享丨Python从入门到编写POC之读写文件相关推荐
- python缺少标准库_干货分享:Python如何自动导入缺失的库
很多同学在写Python项目时会遇到导入模块失败的情况:ImportError: No module named 'xxx'或者ModuleNotFoundError: No module named ...
- python怎么模拟浏览器交互_干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏)...
今天为大家带来的内容是:干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏) 文章主要介绍了python爬虫模拟浏览器的两种方法,结合实例形式分析了Python爬虫模拟浏览器的两种常见操 ...
- android分享文件分享结果_干货分享丨DM删除归档日志文件的多种方法
上一期我们讲解了DM数据库归档日志的切换,本期我们讲解DM数据库归档日志文件的删除. 本章内容已在如下环境上测试: ①操作系统:中标麒麟7: ②数据库版本:达梦8: 相关关键字:DM数据库.归档日志文 ...
- dts数据库迁移工具_干货分享丨DM8 DTS工具使用小技巧
DTS工具的介绍 DM数据库为迁移提供了图形化工具--DTS.DTS可以从主流大型数据库迁移到DM.DM到DM.文件迁移到DM以及DM迁移到文件的功能,极大的简化了迁移操作,让数据迁移变得简单. DT ...
- 达梦数据库删除用户_干货分享丨DM8用户管理
原标题:干货分享丨DM8用户管理 用户介绍 安装创建达梦企业版数据库后,系统会默认创建四类数据库账号,分别是: SYS:达梦数据库内置管理用户,不能登录,数据库使用的大部分的数据字典和动态性能视图. ...
- 【Linux服务器开发系列】详解多线程网络编程丨百分百干货分享丨学到就是赚到
90分钟搞懂多线程网络编程模型 1. 网络编程关注的问题 2. 网络编程的几种模型reactor,one loop per thread及其变种 3. skynet,redis,nginx,memca ...
- 干货分享丨精心整理了份Python知识点高清速查表!太受用了!
去年底北大保安"神仙打架"的新闻,让本来就火得一塌糊涂的Python又上了把热搜. 资料来源 @北大官微 不过,最吸引我的不是这条微博本身,而是一条"学会Python,可 ...
- python定期自动运行_干货分享 | 适合 Python 入门的 8 款强大工具,不会就你还不知道吧!...
点击上方"人工智能Corner","星标或置顶公众号" 干货分享,第一时间送达 Python是一种开源的编程语言,可用于Web编程.数据科学.人工智能以及许多科 ...
- python写appium_案例分享,Python +appium做登录功能
原标题:案例分享,Python +appium做登录功能 Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,同时又是一个跨平台的工具:它允许测试人员在不同 ...
最新文章
- Android通过PHP服务器实现登录
- C语言中的字符和字符串
- 阿里云大数据计算服务MaxCompute(上篇)
- MySQL Control Flow Functions(控制流)
- C语言和设计模式(享元模式)
- JQUERY-SELECT 实现下拉框可以搜索、选择
- java2实用教程第五版耿祥义电子版_Java2实用教程(第5版)答案 耿祥义、张跃平
- html5酷狗音乐网页代码,酷狗音乐
- WinZip 18.0下载地址及注册码
- TI PMP解决方案简介
- 阿里巴巴矢量图库开源http://www.iconfont.cn/collections/detail?cid=29
- 养成备份的习惯的重要性
- 用Python解矩阵方程——Sympy模块
- C++求最大与最小值
- mysql查询学生平均成绩及其名次_sql 统计 学生成绩2
- Markdown转Word文档在线工具
- UTF-8转为ASCII(转)
- 自己搭建FRP服务器,速度不错!
- 右手定则判断法线方向
- 【MPI编程】矩阵向量乘法--解法三(子矩阵块分解)【高性能计算】
热门文章
- 模板卷积Template Convolution
- 《OpenCv视觉之眼》Python图像处理五 :Opencv图像去噪处理之均值滤波、方框滤波、中值滤波和高斯滤波
- 解决回调地狱终极方法 - ES7新增 - async 和 await
- hud抬头显示器哪个好_手机导航秒变车载HUD抬头显示,真那么好用吗?
- Solv Vouchers 全新版本 V2.1 发布!
- 高端电纸书的代表之作,科大讯飞智能办公本X2不容错过
- 品优购项目学习---基本概述(简略)
- 全国区域发展战略调整 重庆入选国家五大中心城市
- 电脑显卡4种接口类型:VGA、DVI、HDMI、DP
- TrijianDropper木马(记一次电脑中木马)