ありそうでなかったので書いた。
import pathlib
import subprocess
def mkdir_hidden(self):
renamed = self.parent / f'.{self.name}'
renamed.mkdir(parents=True, exist_ok=True)
if type(self) == pathlib.WindowsPath:
cmd = ['attrib', '+H', str(renamed)]
subprocess.run(cmd, shell=True)
return renamed
pathlib.Path.mkdir_hidden = mkdir_hidden
hoge = pathlib.Path(__file__).parent / 'hoge'
hoge = hoge.mkdir_hidden()
Linuxは名前の頭に.
がついていれば隠し扱いになりますがWindowsの場合は属性を設定してあげなきゃいけないのでそんな感じにしてます。