Python os(オペレーティングシステム)モジュールの基本

programmingPython

今回は、Pythonの標準ライブラリ、

osモジュール

についての基本をご説明します

Pythonでファイルを扱う際にフォルダにアクセスをしたり、

pathを操作することが可能なモジュールとなります

>>> import os

早速osモジュールをインポートして、始めていきましょう!

osモジュールの属性(メソッドやプロパティ)一覧を見てみる

>>> dir(os)

CLD_CONTINUED, CLD_DUMPED, CLD_EXITED, CLD_TRAPPED, DirEntry, EX_CANTCREAT, EX_CONFIG, EX_DATAERR, EX_IOERR, EX_NOHOST, EX_NOINPUT, EX_NOPERM, EX_NOUSER, EX_OK, EX_OSERR, EX_OSFILE, EX_PROTOCOL, EX_SOFTWARE, EX_TEMPFAIL, EX_UNAVAILABLE, EX_USAGE, F_LOCK, F_OK, F_TEST, F_TLOCK, F_ULOCK, GRND_NONBLOCK, GRND_RANDOM, MFD_ALLOW_SEALING, MFD_CLOEXEC, MFD_HUGETLB, MFD_HUGE_16GB, MFD_HUGE_16MB, MFD_HUGE_1GB, MFD_HUGE_1MB, MFD_HUGE_256MB, MFD_HUGE_2GB, MFD_HUGE_2MB, MFD_HUGE_32MB, MFD_HUGE_512KB, MFD_HUGE_512MB, MFD_HUGE_64KB, MFD_HUGE_8MB, MFD_HUGE_MASK, MFD_HUGE_SHIFT, MutableMapping, NGROUPS_MAX, O_ACCMODE, O_APPEND, O_ASYNC, O_CLOEXEC, O_CREAT, O_DIRECT, O_DIRECTORY, O_DSYNC, O_EXCL, O_LARGEFILE, O_NDELAY, O_NOATIME, O_NOCTTY, O_NOFOLLOW, O_NONBLOCK, O_PATH, O_RDONLY, O_RDWR, O_RSYNC, O_SYNC, O_TMPFILE, O_TRUNC, O_WRONLY, POSIX_FADV_DONTNEED, POSIX_FADV_NOREUSE, POSIX_FADV_NORMAL, POSIX_FADV_RANDOM, POSIX_FADV_SEQUENTIAL, POSIX_FADV_WILLNEED, POSIX_SPAWN_CLOSE, POSIX_SPAWN_DUP2, POSIX_SPAWN_OPEN, PRIO_PGRP, PRIO_PROCESS, PRIO_USER, P_ALL, P_NOWAIT, P_NOWAITO, P_PGID, P_PID, P_WAIT, PathLike, RTLD_DEEPBIND, RTLD_GLOBAL, RTLD_LAZY, RTLD_LOCAL, RTLD_NODELETE, RTLD_NOLOAD, RTLD_NOW, RWF_DSYNC, RWF_HIPRI, RWF_NOWAIT, RWF_SYNC, R_OK, SCHED_BATCH, SCHED_FIFO, SCHED_IDLE, SCHED_OTHER, SCHED_RESET_ON_FORK, SCHED_RR, SEEK_CUR, SEEK_DATA, SEEK_END, SEEK_HOLE, SEEK_SET, ST_APPEND, ST_MANDLOCK, ST_NOATIME, ST_NODEV, ST_NODIRATIME, ST_NOEXEC, ST_NOSUID, ST_RDONLY, ST_RELATIME, ST_SYNCHRONOUS, ST_WRITE, TMP_MAX, WCONTINUED, WCOREDUMP, WEXITED, WEXITSTATUS, WIFCONTINUED, WIFEXITED, WIFSIGNALED, WIFSTOPPED, WNOHANG, WNOWAIT, WSTOPPED, WSTOPSIG, WTERMSIG, WUNTRACED, W_OK, XATTR_CREATE, XATTR_REPLACE, XATTR_SIZE_MAX, X_OK, _Environ, __all__, __builtins__, __cached__, __doc__, __file__, __loader__, __name__, __package__, __spec__, _check_methods, _execvpe, _exists, _exit, _fspath, _fwalk, _get_exports_list, _putenv, _spawnvef, _unsetenv, _wrap_close, abc, abort, access, altsep, chdir, chmod, chown, chroot, close, closerange, confstr, confstr_names, copy_file_range, cpu_count, ctermid, curdir, defpath, device_encoding, devnull, dup, dup2, environ, environb, error, execl, execle, execlp, execlpe, execv, execve, execvp, execvpe, extsep, fchdir, fchmod, fchown, fdatasync, fdopen, fork, forkpty, fpathconf, fsdecode, fsencode, fspath, fstat, fstatvfs, fsync, ftruncate, fwalk, get_blocking, get_exec_path, get_inheritable, get_terminal_size, getcwd, getcwdb, getegid, getenv, getenvb, geteuid, getgid, getgrouplist, getgroups, getloadavg, getlogin, getpgid, getpgrp, getpid, getppid, getpriority, getrandom, getresgid, getresuid, getsid, getuid, getxattr, initgroups, isatty, kill, killpg, lchown, linesep, link, listdir, listxattr, lockf, lseek, lstat, major, makedev, makedirs, memfd_create, minor, mkdir, mkfifo, mknod, name, nice, open, openpty, pardir, path, pathconf, pathconf_names, pathsep, pipe, pipe2, popen, posix_fadvise, posix_fallocate, posix_spawn, posix_spawnp, pread, preadv, putenv, pwrite, pwritev, read, readlink, readv, register_at_fork, remove, removedirs, removexattr, rename, renames, replace, rmdir, scandir, sched_get_priority_max, sched_get_priority_min, sched_getaffinity, sched_getparam, sched_getscheduler, sched_param, sched_rr_get_interval, sched_setaffinity, sched_setparam, sched_setscheduler, sched_yield, sendfile, sep, set_blocking, set_inheritable, setegid, seteuid, setgid, setgroups, setpgid, setpgrp, setpriority, setregid, setresgid, setresuid, setreuid, setsid, setuid, setxattr, spawnl, spawnle, spawnlp, spawnlpe, spawnv, spawnve, spawnvp, spawnvpe, st, stat, stat_result, statvfs, statvfs_result, strerror, supports_bytes_environ, supports_dir_fd, supports_effective_ids, supports_fd, supports_follow_symlinks, symlink, sync, sys, sysconf, sysconf_names, system, tcgetpgrp, tcsetpgrp, terminal_size, times, times_result, truncate, ttyname, umask, uname, uname_result, unlink, unsetenv, urandom, utime, wait, wait3, wait4, waitid, waitid_result, waitpid, walk, write, writev

これだけありますので、基本的な一部をご紹介します

他にも気になるものがあれば使ってみてください

フォルダへアクセスする

カレントディレクトリ(現在いるフォルダ)を調べる

>>> os.getcwd()

ディレクトリを移動します

>>> os.chdir(‘path/to/folder’)

‘path/to/folder’ を行き先により変更してください

ファイルディレクトリ一覧を取得する

>>> os.listdir()

隠しファイルなども取得します

ファイル、フォルダの操作

ディレクトリ(フォルダ)を作成する

>>> os.mkdir(‘path/to/folder’)

“folder_name”というフォルダをカレントディレクトリに作成します

ディレクトリを削除する

>>> os.removedirs(path/to/folder’)

ファイルを削除する

os.remove(‘path/to/file’)

ディレクトリ、ファイルの所有者を変更する

>>> os.chmod(‘path/to/file’, mode)

‘path/to/file’はファイルでもディレクトリ名でも構いません

modeには、

‘0o’

から始まるモードの番号を入力します

例)0o775

ファイルオーナーを変更する

>>> os.chown(“path/to/file”, uid, gid)

uidはユーザーID

gidはグループID

を入れる

uid, gidの調べ方はUbuntuですと、

$ id -u <username>

$ id -g <username>

で調べることができました!

ターミナル上のコマンドを実行する

>>> os.system(ここにコマンドを入力)

os.systemメソッドを使うことで、ターミナル上でのコマンドを使うことができます

例)

>>> os.system(“echo hi”)

>>> os.system(“ls”)

>>> os.sytem(“touch sample.py”)

などなど、色々と使えますね!

おわりに

いかがでしたでしょうか?

これでPythonのosモジュールについての基本を終えます

以前ご紹介した自作アプリの中で、

osモジュールを使っていますのでもし実際のコードをご覧になりたい方は、

下記のリンクで見てみてください!

全体のコードも記載しています

【自作】Pythonゲーム紹介 何桁まで覚えられますか?

本日もありがとうございました!

タイトルとURLをコピーしました