今回は、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”)
などなど、色々と使えますね!
✔当ブログは以下のような方に向けて書かれています
「Djangoでのアプリ開発を学びたい!」
「Djangoで開発したアプリをWebで公開するにはどうするの?」
✔当ブログ掲載の記事
- Djangoで作る日報アプリ開発
- WebアプリをWeb上に公開する方法
- Webアプリ開発に必要なそのほかの情報

ITCブログにご協力いただける方は、以下もご検討いただけると嬉しいです。