Mac下使用Python删除Safari历史

  1. 云栖社区>
  2. 博客>
  3. 正文

Mac下使用Python删除Safari历史

桃子红了呐 2017-11-16 20:45:00 浏览585
展开阅读全文

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: 572064792 | Nodejs:329118122 做人要厚道,转载请注明出处!


















本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sunshine-anycall/archive/2011/04/03/2004722.html,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论