Python 標準ライブラリ os OS依存の機能
Publish date: 2021-08-12
ライブラリosを使うと環境に依存した情報の取得やファイルを操作を行うことができます。
OSの環境変数
os.environ
# =>
# environ{'ALLUSERSPROFILE': 'C:\\ProgramData',
# 'APPDATA': 'C:\\Users\\name\\AppData\\Roaming',
# …
# }
os.environ['OS']
# => 'Windows_NT'
特定の環境変数はgetenv
で取得できる。
第2引数は変数が設定されていない場合のデフォルト値。
os.getenv('OSXXX', 'Linux') # => Linux
os.getenv('OS', 'Linux') # => Windows_NT
ディレクトリの移動
os.getcwd() # => 'c:\\home'
os.chdir('./test')
os.getcwd() # => 'c:\\home\\test'
実行パス
os.get_exec_path()
ログインユーザー
os.getlogin()
ディレクトリの探索
scandir(path='.')
で指定したディレクトリ以下の探索を行える。
for o in os.scandir():
print(o.name) # ファイル名
print(o.path) # パス
print(o.inode()) # inode番号
print(o.is_dir()) # ディレクトリか
print(o.is_file()) # ファイルか
print(o.is_symlink()) # シンボリックリンクか
print(o.stat()) # ファイル情報
ディレクトリ、ファイルの操作・コピー
# ディレクトリの作成
os.mkdir('./testdir/')
os.makedirs('./sub/test/dir/')
# 名称変更
os.rename('./testdir/','./testdir2/')
os.renames('./testdir2/', './testdir4/test/dir')
# ディレクト削除
os.rmdir('./testdir4/test/dir')
os.removedirs('./sub/test/dir/')
# ファイル削除
os.remove('./test.txt')