2021-08-19に投稿

Python 標準ライブラリ os OS依存の機能

ライブラリ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')

参考

Originally published at marusankakusikaku.jp
ツイッターでシェア
みんなに共有、忘れないようにメモ

maru3kaku4kaku

Pythonこつこつ学習中。よく忘れる。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント