Mac下使用Python删除Safari历史

Mac下使用Python删除Safari历史

Windows下有工具可以方便快捷的清除掉浏览器历史。

既然正在学Python,那为什么不用这个语言写一个小工具呢?

MacOS的内核是Free BSD,Unix的一个分枝。Unix没有象Windows系统一样的分区。

相反的,Unix把所有的文件都组织在一个目录之下。这个目录就是root,标记为/。

Unix的文件组织的非常的清晰,具体的细节大家可以查看这里

之后我们可以查到Safari存放历史记录的默认目录为

/Users/lichallenger/Library/Caches/Metadata/Safari/History/。

从finder转到以上目录可以看到历史文件的列表。

了解了以上知识后,我们就可以进入Python编程这一步了。 

代码: 

import os

root = '/Users/lichallenger/Library/Caches/Metadata/Safari/History/'
top = root

for root,dirs,files in os.walk(top,topdown=False):
    for name in files:    
        print 'file name is: %s ' % name
      for name in dirs:
        print 'dir name is: %s ' % name

print 'end============' 

在Terminal中运行这段代码得到:

如果你稍微注意的话,你会发现Finder中显示的历史记录和执行Python代码后得到的结果是不一样的。

代码搜索出来的前两个文件在Finder中是没有的。不管如何,这两个文件显然不是我们要处理的历史记录。

修改代码,并添加删除功能。如下:

import os

root = '/Users/lichallenger/Library/Caches/Metadata/Safari/History/'
top = root

for root,dirs,files in os.walk(top,topdown=False):
    for name in files:    
        his_file = root + name        
        print 'file name is: %s ' % his_file
        try:
            if his_file.find('http') != -1:
                os.remove(his_file)
        except ValueError:

            continue

 

经过为完全测试,节本可用。

 

由于本人水平所限,难免疏漏。如果发限,敬请指正!谢谢! 

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/archive/2011/04/03/2004722.html

时间: 2024-09-28 13:52:01

Mac下使用Python删除Safari历史的相关文章

在Mac下初始化python开发环境

安装Xcode, Command line tools 作为开发者,肯定需要gcc,clang这些环境,Xcode界面也能下载Command line tools,但是下载好几次都有签名错误的问题,直接去官网下载 使用浏览器下载一段时间锁屏会停止下载,又不能续传.所以我还是习惯命令行下载.可以在这里找到https://github.com/orzrd/mytools/blob/master/adc_download.sh 比如下载xcode: ./adc_download.sh http://a

Mac下Sublime Text3配置Python开发环境

设置Sublime Text的语法为python View -> syntax ->python 设置编译环境(默认python版本2.7) Tools -> Build System -> Python 添加编译环境python3.5 Sublime没有帮我们配置python3, 用python3的同学需要自己配置 Tools -> Build System -> New Build System 在打开的文件里面贴上以下代码: 这个路径是你的python路径: /L

如何解决无法释放Mac下删除文件磁盘空间

  如何解决无法释放Mac下删除文件磁盘空间         方法/步骤 首先呢,不知道是不是我这里才遇到:删除文件(之后清理掉Trash)或者用rm -rf直接命令行删除后,磁盘空间不释放. df -h或者用About this Mac看,磁盘空间都没变化.inode节点使用情况也没变化.后来没办法,查来查去,发现根目录下有一个.MobileBackups,占据空间巨大.查文档得知,这是Time Machine的本地备份. 问题是:我已经关闭Time Machine了,但是依然会在这里追加东西

Python删除指定目录下过期文件的2个脚本分享_python

脚本1: 这两天用python写了一个删除指定目录下过期时间的脚本.也可能是我初学python,对python还不够熟习,总觉得这个脚本用shell写应该更简单也更容易些.就功能上来说,该脚本已经实现了我想要的效果,不过该脚本还不够通用性,还有更多可以完善的地方.目前该脚本在python2.4下运行良好.同时,我在脚本中加入了对python版本的判断,理论上2.7下也应该可以正常使用.有环境的朋友可以帮忙测试一下.该脚本不完善的地方在于,只能支持一级目录下的文件删除,还不支持目录递归.同时过期文

Mac下安装nginx

Mac下安装nginx   Installing GnuPG 1.4.11 on Mac OS X 10.6.6 Snow Leopard Another day, another GPG install. Different machine, and slightly different versions of Mac OS X and GPG. Unlike other times, I found I didn't need to pass the --disable-asm flag t

Mac下3款词典翻译工具软件横评

近日,在windows平台上占有率最高的翻译软件有道词典推出了Mac版本,给久已波澜不惊的Mac翻译软件市场注入了一股新的活力,值得关注.相对于 windows平台的大众化,Mac平台由于其用户群体高端.整体风格简洁清爽.开发系统封闭等特点,用户选择软件的关注点也不同于windows平台,软件品牌份额及市场格局与windows平台下大相径庭.那么,众多Mac平台的翻译软件品牌中,哪款的表现更出色?哪款更适合Mac平台下的使用?作为资深的Mac用户,小编特地挑选了两款目前比较流行的Mac端词典软件

python删除列表中重复记录的方法

  这篇文章主要介绍了python删除列表中重复记录的方法,涉及Python操作列表的相关技巧,需要的朋友可以参考下 ? 1 2 3 4 def removeListDuplicates(seq): seen = set() seen_add = seen.add return [ x for x in seq if x not in seen and not seen_add(x) ] 希望本文所述对大家的Python程序设计有所帮助.

NTFS For Mac如何传输和删除数据

  我们都知道NTFS For Mac是为解决Windows和Mac OS X不兼容问题而开发的档案系统驱动,可以让人们在Mac OS X下完全读/写访问NTFS档案系统的任何版本.那么这个插件到底该如何使用呢?下面小编就给大家讲讲NTFS For Mac如何传输和删除数据. 当你在Mac上插入移动硬盘或者是外置存储器的时候,就会出现外置存储器的相关信息,如下图所示: 图一:使用效果图 Unlike 与Mac OS X默认驱动不同,您可在NTFS卷册上进行任何操作,比如: 1.传输数据 图二:数

Mac下的破解软件真的安全吗?

我们发现很多Mac用户对自身的安全并不是很重视,针对用户的恶意软件逐渐增多,窃取用户的隐私, 监控用户的日常行为, 恶意推广广告, etc.因此,我们应该提高自身的安全意识, 警钟长鸣. 0×01 前言 小夏是一名普通Mac用户,某天,他打算试试思维导图来记录工作学习. 他问同事小芳:"Mac下有啥好用的思维导图软件?" 小芳:"XMind呀,很实用的思维导图软件." 小夏:"那到哪里下载,要钱吗?" 小芳:"哎,你百度XMind破解版