2012-10-08 122 views
2

在Python中,你如何让一个特定的文件隐藏?或者,你如何设置文件属性为“隐藏”,而无需使用外部API的/模块,如WIN3​​2API等隐藏文件属性

当然也有一些是在标准库?由于os模块确实允许设置“读”和“写”的属性,这是很奇怪的,有在“隐藏”的os文档没有提及...

回答

4

使用

fn = 'c:\\file.txt' 
p = os.popen('attrib +h ' + fn) 
t = p.read() 
p.close() 
+3

解释为什么* *这个答案将使其成为一个更好的答案。 – ChrisF

+0

其实我已经在网上看到过这个类似的代码,但它没有工作,我是这么认为的我又试了一次我犯了一个语法错误,但它仍然无法正常工作 – mrdigital

+2

@ChrisF:这个答案显示了如何使用标准的Windows外壳命令隐藏文件('attrib')。如果OP正在寻找一个特定于Windows的解决方案,这个答案完全符合这个问题。 (不幸的是,OP没有具体说明他是在寻找一种便携式解决方案还是特定于Windows的解决方案)。 –

2

并非所有的操作系​​统的“隐藏”的文件,和大多数的概念(即使所有不同版本的Windows 7等的有仍然更多形式的* nix比Windows在那里的),表明它由具有文件名的第一个字符是句点(.)。在那支持它的操作系统必须使用一些外部的API和工具,以将其上的文件。

+0

我知道在文件名前使用最初的DOT适用于unix/linux操作系统;但OS模块专门处理许多其他窗口特定的文件属性。我真的很惊讶HIDDEN属性访问可能没有提供。 – mrdigital

+0

那么除了win32api以外没有别的选择吗? – mrdigital

+0

你可以用ctypes编写自己的绑定,但它仍然会调用相同的函数。 –