开发者社区> ghost丶桃子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Python的GUI编程
Python的GUI编程 使用Tkinter模块来创建简单的GUI程序。Tkinter的Widgets有:Button、Canvas、Checkbutton、Entry、Frame、Label、Listbox、Menu、Menubutton、Message、Radiobutton、Scales、Scrollbar、TEXT、Toplevel等。
777 0
使用python进行编程.工具是次要的.关键在理解代码.
开始研究下python.还是蛮喜欢这个语言的. 很简单.很有意思. 也用过eclipse的python插件. 也用过 nodepad ++ 进行编辑. 最后发现.其实python自带的
841 0
Python编程-基础知识-字符串格式化
1. 简单字符串格式化   format = "Hello, how are you doing %s %s!"values = ("David", "Gu")print format % values   Result: Hello, how are you doing David Gu!   format = "PI with seven decimals: %.
593 0
Python编程-基础知识-列表和元组
列表示例1:  (新建, 删除, 修改) # basic operation of listnames = ['David', 'George', 'Peter', 'Mark', 'ALice']print "Original List:"print namesdel names[1]p...
730 0
python 教程 第十八章、 Web编程
第十八章、 Web编程 import urllib2 LOGIN = 'jin' PASSWD = 'Welcome' URL = 'https://tlv-tools-qc:8443/qcbin/start_a.
875 0
python 教程 第十九章、 图形界面编程
第十九章、 图形界面编程 import Tkinter top = Tkinter.Tk() hello = Tkinter.Label(top, text='Hello World!') hello.
782 0
Python专家编程
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/3767771 Python专家编程 一、CPythonCPython是一个默认的、广泛使用的Python编程语言的实现。
770 0
Python的GUI编程
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/3729155 Python的GUI编程 使用Tkinter模块来创建简单的GUI程序。
764 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Python 脚本速查手册
立即下载
Python系列直播第一讲——Python中的一切皆对象
立即下载
Python第五讲——关于爬虫如何做js逆向的思路
立即下载