Cross-Platform Hidden Files/Folders Remove करना
Unix OS (OSX, Linux, आदि) पर Hidden Files '.' से Start होती हैं, इसलिए हम Simple startswith Check का उपयोग करके उन्हें Filter Out कर सकते हैं। Windows पर, हमें File Attributes Check करने की आवश्यकता होती है और फिर Determine करना होता है कि File/Folder Hidden है या नहीं।
उदाहरण: सभी Hidden Files Delete करना
import os
if os.name == 'nt':
import win32api, win32con
def file_is_hidden(p):
if os.name == 'nt':
attribute = win32api.GetFileAttributes(p)
return attribute & (win32con.FILE_ATTRIBUTE_HIDDEN | win32con.FILE_ATTRIBUTE_SYSTEM)
else:
return p.startswith('.')
# Linux/OSX
[os.remove(f) for f in os.listdir('.') if file_is_hidden(f)]
नोट: Windows के लिए pywin32 Package Install करना आवश्यक है: pip install pywin32
आधुनिक Python (3.4+) में Pathlib का उपयोग:
from pathlib import Path
import os
def is_hidden(path):
if os.name == 'nt':
import win32api, win32con
attrs = win32api.GetFileAttributes(str(path))
return bool(attrs & (win32con.FILE_ATTRIBUTE_HIDDEN | win32con.FILE_ATTRIBUTE_SYSTEM))
else:
return path.name.startswith('.')
for item in Path('.').iterdir():
if is_hidden(item):
item.unlink()