临时文件

《自拍教程53》Python_adb运行tcpdump工具

狂风中的少年 提交于 2020-04-05 17:03:53
本篇文章与上一篇: Python_adb运行shell脚本类似 , 上一篇主要的技术点是讲shell等 文本文件 ,"隐藏"在Python代码里; 本篇文章主要是讲,如何将tcpdump这类 二进制可执行文件 , “隐藏”到Python代码里去。 ::: story Android手机具备在线功能的应用程序,如果出现App无法连接网络, 或者网络异常等问题,开发一般需要测试同学抓包; 还有比如Android手机 流媒体协议(HTTP,HTTP Live, RTSP)测试等,开发也经常需要测试人员抓包。 Android的一般用tcpdump命令行工具抓包, 可是,有的Android是阉割版的,很多命令行工具都未集成,比如tcpdump如果没有集成, 则要考虑adb push tcpdump /system/bin下面去, 然后通过/system/bin/tcpdump -vv -s 0 -w /sdcard/tcp.pcap 来抓包。 执行tcpdump不难,难在“隐藏”tcpdump到Python代码里去, 为什么要“隐藏”,因为我们只能将.py代码文件, 编译打包进.exe里去, 任何其他的格式的非代码文件都是无法编译打包进去, 所以先将tcpdump这个二进制文件转成.py文件, 这样就可以将tcpdump编译打包进.exe。 :::

这就是搜索引擎--读书笔记五--索引的建立与更新

社会主义新天地 提交于 2020-03-31 07:31:13
索引的建立和更新 索引的建立 前一总结里说到,如果索引结构建立好了,可以提高搜索的速度,那么给定一个文档集合,索引是如何建立起来的呢?建立索引的方式有很多种,在这里我就书中提到的三种方法简单总结一下。 两遍文档遍历法 第一次文档遍历 第一次扫描文档集合时,并没有立即开始建立索引,而是收集一些的统计信息,比如文档集合包含的文档个数N、文档集合内包含的不同单词个数M以及每个单词在哪些文档中出现过的信息DF等等。将所有单词对应的DF值全部相加,就可以知道建立最终的索引需要多少内存了,然后在内存中将连续存储区划分成不同大小的片段,词典内某个单词根据自己对应的DF信息,可以通过指针指向属于自己的内存片段的起始位置和终止位置 , 这样在第二遍扫描中,这个单词对应的倒排列表信息会被填充进这个片段中。 第二次文档遍历 这一次扫描的时候,就开始真正建立每个单词的倒排列表信息了,即对每个单词来说,获得包含这个单词的每个文档的文档ID,以及这个单词在文档中出现的次数,这样就可以不断填充第一次遍历扫描所分配的内存空间。当然,如果要记录单词在文档中出现的位置也是可以的,第一次扫描中分配内存时加上这个位置信息就可以了。 值得注意的是 :此方法完全是在内存里完成索引的创建过程的,而后面两种方法则是通过内存和磁盘相互配合来完成索引建立任务的。而正因为创建索引是在内存中完成的,所以就要求内存一定要足够大

移动硬盘临时文件太多怎么办,python黑科技帮你解决

自古美人都是妖i 提交于 2020-03-30 15:04:36
前言 文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者: 星安果 PS:如果想了解更多关于python的应用,可以私信我,或者点击下方链接自行获取(http://t.cn/A6Zvjdun) 目 标 场 景 用过 Mac OS 的朋友应该都遇到过,日常的文件操作会在同级目录下产生一些特定的临时文件。 平常将文件夹打包成压缩包或拷贝文件夹到移动硬盘内,临时文件会包含在里面,如果是程序源代码,在 Windows 系统下编译有时候还会受到影响。 本篇文章的目的是在移动硬盘插入到电脑的同时,利用 Python 自动化和 Windows 服务 删除掉这些临时文件。 编 写 代 码 首先,我们需要循环检测 PC 的驱动器,判断是否存在 可移动的磁盘。 # 循环遍历,对每一个驱动器进行判断while True: for item in disk_partitions(): if 'removable' in item.opts: driver, opts = item.device, item.opts # 删除临时文件 pass break else: continue # 休眠5s,继续遍历 sleep(5) 如果检测到存在可移动的磁盘,就遍历文件,删除 Mac 临时文件。 def remove_all_file

bat windows10系统垃圾清理---

只谈情不闲聊 提交于 2020-03-27 02:12:34
@echo off color 0a title windows10系统垃圾清理--- echo ★☆ ★☆ ★☆ ★☆ ★☆★☆★☆ ★☆ ★☆ ★☆ ★☆★ echo ★☆ ★☆ ★☆ ★☆ ★☆★☆★☆ ★☆ ★☆ ★☆ ★☆★ echo.★☆ ☆★ echo.★☆ ☆★ echo.★☆ 清理系统垃圾文件,请稍等...... ☆★ echo ★☆ ☆★ echo.★☆ ☆★ echo ★☆ ★☆ ★☆ ★☆ ★☆★☆★☆ ★☆ ★☆ ★☆ ★☆★ echo ★☆ ★☆ ★☆ ★☆ ★☆★☆★☆ ★☆ ★☆ ★☆ ★☆★ echo 清理垃圾文件,速度由电脑文件大小而定。在没看到结尾信息时 echo 请勿关闭本窗口。 echo 正在清除系统垃圾文件,请稍后...... echo 删除补丁备份目录 RD %windir%\$hf_mig$ /Q /S echo 把补丁卸载文件夹的名字保存成2950800.txt dir %windir%\$NtUninstall* /a:d /b >%windir%\2950800.txt echo 从2950800.txt中读取文件夹列表并且删除文件夹 for /f %%i in (%windir%\2950800.txt) do rd %windir%\%%i /s /q echo 删除2950800.txt del %windir%

Redis之持久化

亡梦爱人 提交于 2020-03-23 18:21:02
3 月,跳不动了?>>> 前言: Redis是一种高级的以key-value形式存储数据的nosql数据库。支持多种数据类型:字符串、哈希,链表、集合、有序集合。并且支持服务器端数据的交集,并集,补集计算,排序,及数据持久。 由于Redis所有的数据都保存在内存里面,如果没有配置持久化,redis重启后数据就会丢失,于是需要开启持久化功能,将数据保存到磁盘上。Redis提供两种持久化方式,一种是RDB持久化,将Redis在内存中的数据定时dump到磁盘上,另一种是AOF持久化,将Redis的操作日志以追加的方式写入文件。 区别: RDB持久化 持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作就是fork一个子进程,先将数据集写入临时文件,写入成功后,在替换之前的文件,用二进制压缩存储。RDB是redis默认的持久化方式。 AOF持久化以日志的形式记录服务器所记录的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。 持久化: RDB: redis调用fork,现在有了子进程和父进程。 父进程继续处理client请求,子进程负责将内存内容写入到临时文件。由于os的写时复制机制(copy on write)父子进程会共享相同的物理页面,当父进程处理写请求时os会为父进程要修改的页面创建副本,而不是写共享的页面

redis 的两种持久化方式及原理

五迷三道 提交于 2020-03-17 12:30:27
某厂面试归来,发现自己落伍了!>>> Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。 Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。 第一种方法 filesnapshotting :默认redis是会以快照的形式将数据持久化到磁盘的(一个二进 制文件,dump.rdb,这个文件名字可以指定),在配置文件中的格式是:save N M表示在N秒之内,redis至少发生M次修改则redis抓快照到磁盘。当然我们也可以手动执行save或者bgsave(异步)做快照。 工作原理简单介绍一下:当redis需要做持久化时,redis会fork一个子进程;子进程将数据写到磁盘上一个临时RDB文件中;当子进程完成写临时文件后,将原来的RDB替换掉,这样的好处就是可以 copy-on-write 还有一种持久化方法是 Append-only :filesnapshotting方法在redis异常死掉时,

Python3标准库:tempfile临时文件系统对象

泪湿孤枕 提交于 2020-03-16 09:46:45
1. tempfile临时文件系统对象 要想安全的创建名字唯一的临时文件,以防止被试图破坏应用或窃取数据的人猜出,这很有难度。tempfile模块提供了多个函数来安全的创建临时文件系统资源。TemporaryFile()打开并返回一个未命名的文件,NamedTemporaryFile()打开并返回一个命名文件,SpooledTemporaryFile在将内容写入磁盘之前先将其保存在内存中,TemporaryDirectory是一个上下文管理器,上下文关闭时会删除这个目录。 1.1 临时文件 如果应用需要临时文件来存储数据,而不需要与其他程序共享这些文件,则应当使用TemporaryFile()函数创建文件。这个函数会创建一个文件,而且如果平台支持,它会立即断开这个新文件的链接。这样一来,其他程序就不可能找到或打开这个文件,因为文件系统表中根本没有这个文件的引用。对于TemporaryFile()创建的文件,无论通过调用close()还是结合使用上下文管理器API和with语句,关闭文件时都会自动删除这个文件。 import os import tempfile print('Building a filename with PID:') filename = '/guess_my_name.{}.txt'.format(os.getpid()) with open(filename

2.10临时文件命名与随机数2.11

六眼飞鱼酱① 提交于 2020-03-09 12:33:06
编写shell脚本时,经常需要存储临时数据,系统中最适合存储临时数据的位置/tmp(该目录中的内容在系统重启后会清空)。 1)创建临时文件 $ filename=`mktemp` $ echo $filename /tmp/tmp.8xvhkjF5fH 上面的代码创建了一个临时文件,并打印出存储在$filename中的文件名。 2)创建临时目录 $ dirname=`mktemp -d` $ echo $dirname tmp.NI8xzW7VRX 上面的代码创建了一个临时目录,并打印出存储在$dirname中的目录名 3)如果想仅仅想生成文件名,又不希望创建实际的文件或目录, $ tmpfile=`mktemp -u` $ echo $tmpfile /tmp/tmp.RsGmilRpcT 文件名存储在$tmpfile中,但并没有创建对应的文件 4)根据模板创建临时文件名 $ mktemp test.XXX text.2c 工作原理:mktemp它生成一个临时文件并返回其文件名(如果创建的是目录,返回目录名),如果提供了定制模板,X会被随机的字符(数字或字母)替换,注意,mktemp正常工作的前提是保证模板中至少要有3个X。 2.11分割文件和数据 1)工作原理 假设有一个文件data.file,其大小为100KB,将它分割成多个大小为10KB的文件,如下 $ split -b

Java File的delete和deleteOnExit区别

穿精又带淫゛_ 提交于 2020-03-04 20:30:09
Java的File类中有两个delete方法:delete和deleteOnExit delete无需解释,为直接删除,deleteOnExit文档解释为:在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。也就是说,程序运行deleteOnExit成功后,File并没有直接删除,而是在虚拟机正常运行结束后才会删除。 file创建文件的另一个方法:createTempFile(在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称) 这两个方法其实是对应的,使用场景是这样的: 程序有个需求需要创建临时文件,这个临时文件可能作为存储使用,但是程序运行结束后,这个文件应该就被删除了。在哪里做删除操作呢,需要监控程序关闭吗,如果有很多地方可以中止程序,这个删除操作需要都放置一份吗?其实只要这么写,程序结束后文件就会被自动删除了: File file=File.createTempFile("tmp",null); //这里对文件进行操作 file.deleteOnExit() 来源: https://www.cnblogs.com/daijiabao/p/11183234.html

Definite Time Delete Temp File In WebSite

假装没事ソ 提交于 2020-03-04 20:29:18
开发一个web应用程序,需要创建一个Temp目录,来存放临时文件,比如文件交换,或是用户上传下载,输出等。 由于线程的原因,我们无法即时删除当时操作的文件。所以得设计一个定时器来删除。即是删除当天以前的临时文件。这样子就可以达到我们清除这个Temp目录文件的目的。 文件格式:;大小:22,279KB;长度:00:20:27。 下载地址: http://download.cnblogs.com/insus/ASPDOTNET/DefiniteTimeDeleteTempFileInWebSite.zip 来源: https://www.cnblogs.com/insus/archive/2009/04/08/1431986.html