{ "metadata": { "name": "", "signature": "sha256:c34157fa2405777c6ab578261110984ed1ab2f310e84e24a9f5dfc35fe25869e" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "***\n", "# 18. \ub514\ub809\ud1a0\ub9ac\uc640 \ud30c\uc77c \ub2e4\ub8e8\uae30\n", "***\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "## 01 \ud30c\uc77c \ub2e4\ub8e8\uae30\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-1 \ud30c\uc77c \ubaa9\ub85d \uc5bb\uae30\n", "- \ub514\ub809\ud1a0\ub9ac \uc548\uc5d0 \ub4e4\uc5b4 \uc788\ub294 \uac01 \ud30c\uc77c \ubaa9\ub85d\uc744 \uc5bb\ub294 \ubc29\ubc95\n", "#### 1) glob \ubaa8\ub4c8 \uc774\uc6a9\ud558\uae30\n", "- glob.glob('\uacbd\ub85c \ud328\ud134')\ub294 \uc708\ub3c4\uc6b0\uc758 dir \uba85\ub839\uc5b4\ub098 \ub9ac\ub205\uc2a4\uc758 ls \uba85\ub839\uc5b4\uc640 \uc720\uc0ac\ud55c \uae30\ub2a5\uc744 \uc81c\uacf5\n", " - '\uacbd\ub85c \ud328\ud134'\uc5d0 \uc9c0\uc815\ub41c \ud328\ud134\uacfc \uc77c\uce58\ud558\ub294 \ubaa8\ub4e0 \ud30c\uc77c \ubaa9\ub85d\uc744 \ub9ac\uc2a4\ud2b8\ub85c \ubc18\ud658 \n", "- \uc720\ub2c9\uc2a4 \uc258 \uc2a4\ud0c0\uc77c \uc640\uc77c\ub4dc \uce74\ub4dc \ubb38\uc790 \ud45c\n", "\n", "| \ud328\ud134 | \uc124\uba85 |\n", "|--------|----------------------------------------------------|\n", "| * | \uc784\uc758 \uac1c\uc218(0\uac1c\ud3ec\ud568)\uc758 \ubaa8\ub4e0 \ubb38\uc790\uc640 \ub9e4\uce6d |\n", "| ? | \uc784\uc758\uc758 \ubb38\uc790 1\uac1c\uc640 \ub9e4\uce6d |\n", "| [seq] | seq\uc548\uc5d0 \uc788\ub294 \uc784\uc758\uc758 \ubb38\uc790 1\uac1c\uc640 \ub9e4\uce6d (\uc608: [abc]) |\n", "| [!seq] | seq\uc5d0 \uc788\uc9c0 \uc54a\uc740 \uc784\uc758\uc758 \ubb38\uc790 1\uac1c\uc640 \ub9e4\uce6d (\uc608: [abc]) |" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import glob\n", "print glob.glob('*')\n", "print\n", "\n", "print glob.glob('[pa]*.ipynb')\n", "print\n", "\n", "print glob.glob('*[m]*.ipynb')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['assignment-1.ipynb', 'assignment-2.ipynb', 'assignment-3.ipynb', 'assignment-4.ipynb', 'docstring.pyc', 'examples', 'images', 'modfile.pyc', 'music', 'mymath.py', 'mymath.pyc', 'mymath02.pyc', 'myweb_backup', 'name_attr_test.pyc', 'pickle.txt', 'pickle2.txt', 'prname.py', 'prname.pyc', 'public_html', 'python01.ipynb', 'python02.ipynb', 'python03.ipynb', 'python04.ipynb', 'python05.ipynb', 'python06.ipynb', 'python07.ipynb', 'python08.ipynb', 'python09.ipynb', 'python10.ipynb', 'python11.ipynb', 'python12.ipynb', 'python13.ipynb', 'python14.ipynb', 'python18.ipynb', 'README.md', 'readme.txt', 'removeme.txt', 'sample.txt', 'Speech', 't.c', 't.lnk', 't.slnk', 't.txt', 't1.c', 't1.txt', 't2.txt', 't3.txt', 'teststring2.pyc']\n", "\n", "['assignment-1.ipynb', 'assignment-2.ipynb', 'assignment-3.ipynb', 'assignment-4.ipynb', 'python01.ipynb', 'python02.ipynb', 'python03.ipynb', 'python04.ipynb', 'python05.ipynb', 'python06.ipynb', 'python07.ipynb', 'python08.ipynb', 'python09.ipynb', 'python10.ipynb', 'python11.ipynb', 'python12.ipynb', 'python13.ipynb', 'python14.ipynb', 'python18.ipynb']\n", "\n", "['assignment-1.ipynb', 'assignment-2.ipynb', 'assignment-3.ipynb', 'assignment-4.ipynb']\n" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- os.listdir('\uacbd\ub85c') \uc774\uc6a9\ud558\uae30" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "\n", "print os.listdir('.') # \ud604\uc7ac \ub514\ub809\ud1a0\ub9ac\uc758 \ud30c\uc77c \ubaa9\ub85d \uc5bb\uae30\n", "print \n", "\n", "print os.listdir('../') # \ud604\uc7ac \ub514\ub809\ud1a0\ub9ac\uc758 \ubd80\ubaa8 \ub514\ub809\ud1a0\ub9ac\uc758 \ud30c\uc77c \ubaa9\ub85d \uc5bb\uae30" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['.DS_Store', '.git', '.gitignore', '.ipynb_checkpoints', 'assignment-1.ipynb', 'assignment-2.ipynb', 'assignment-3.ipynb', 'assignment-4.ipynb', 'docstring.pyc', 'examples', 'images', 'modfile.pyc', 'music', 'mymath.py', 'mymath.pyc', 'mymath02.pyc', 'myweb_backup', 'name_attr_test.pyc', 'pickle.txt', 'pickle2.txt', 'prname.py', 'prname.pyc', 'public_html', 'python01.ipynb', 'python02.ipynb', 'python03.ipynb', 'python04.ipynb', 'python05.ipynb', 'python06.ipynb', 'python07.ipynb', 'python08.ipynb', 'python09.ipynb', 'python10.ipynb', 'python11.ipynb', 'python12.ipynb', 'python13.ipynb', 'python14.ipynb', 'python18.ipynb', 'README.md', 'readme.txt', 'removeme.txt', 'sample.txt', 'Speech', 't.c', 't.lnk', 't.slnk', 't.txt', 't1.c', 't1.txt', 't2.txt', 't3.txt', 'teststring2.pyc']\n", "\n", "['.DS_Store', 'calendar', 'calendar-dev', 'ipython', 'jms', 'jms-scheduler', 'mySpringFrame', 'python-e-learning', 'python-e-learning-movie', 'reviewer-recommend']\n" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- dircache.listdir('\uacbd\ub85c') \uc774\uc6a9\ud558\uae30\n", " - \ud55c\ubc88 \uc77d\uc740 \ud30c\uc77c \uad6c\uc870 \uc815\ubcf4\uc5d0 \ub300\ud55c \uce90\uc2dc \uae30\ub2a5\uc774 \ucd94\uac00\ub428\n", " - dircache.listdir('\uacbd\ub85c')\uc744 \uc5ec\ub7ec\ubc88 \ud638\ucd9c\ud560 \ub54c '\uacbd\ub85c'\uac00 \ub3d9\uc77c\ud558\ub2e4\uba74 \ub2e4\uc2dc \ud30c\uc77c \uad6c\uc870\ub97c \uc77d\uc9c0 \uc54a\uace0 \uc774\ubbf8 \uc77d\uc740 \uc815\ubcf4\ub97c \ud65c\uc6a9\ud558\uc5ec \ubc18\ud658\ud55c\ub2e4. \n", " - dircache.annotate('\uacbd\ub85c', list)\n", " - \uc77c\ubc18 \ud30c\uc77c\uba85\uacfc \ub514\ub809\ud1a0\ub9ac\uba85\uc744 \uad6c\ubd84\ud558\uc5ec \ub514\ub809\ud1a0\ub9ac\uc778 \uacbd\uc6b0 \ub9c8\uc9c0\ub9c9\uc5d0 '/'\uc744 \ubd99\uc5ec \ucd9c\ub825\ud574 \uc90c\n", " - list \uc790\uccb4\ub97c \ub2e4\uc2dc \uad6c\uc131\ud574 \uc90c \n", " - '\uacbd\ub85c'\n", " - \uc870\uc0ac\ud560 \ub514\ub809\ud1a0\ub9ac \uacbd\ub85c\uba85\n", " - list\n", " - \ud30c\uc77c \uc774\ub984 \ub9ac\uc2a4\ud2b8\n", " - \ubcf4\ud1b5 dircache.listdir('\uacbd\ub85c')\uc758 \uacb0\uacfc\ub97c \ub123\ub294\ub2e4." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import dircache\n", "l = dircache.listdir('.') # \ub514\ub809\ud1a0\ub9ac \ubaa9\ub85d\uc744 a\uc5d0 \uc800\uc7a5\ud55c\ub2e4.\n", "print l\n", "print \n", "dircache.annotate('.', l) # \ub514\ub809\ud1a0\ub9ac \ud30c\uc77c\uba85 \ub4a4\uc5d0 '/'\ub97c \ucd94\uac00\ud55c\ub2e4.\n", "print l" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "['.DS_Store', '.git//', '.gitignore', '.ipynb_checkpoints//', 'README.md', 'Speech//', 'assignment-1.ipynb', 'assignment-2.ipynb', 'assignment-3.ipynb', 'assignment-4.ipynb', 'docstring.pyc', 'examples//', 'images//', 'modfile.pyc', 'music', 'mymath.py', 'mymath.pyc', 'mymath02.pyc', 'myweb_backup//', 'name_attr_test.pyc', 'pickle.txt', 'pickle2.txt', 'prname.py', 'prname.pyc', 'public_html//', 'python01.ipynb', 'python02.ipynb', 'python03.ipynb', 'python04.ipynb', 'python05.ipynb', 'python06.ipynb', 'python07.ipynb', 'python08.ipynb', 'python09.ipynb', 'python10.ipynb', 'python11.ipynb', 'python12.ipynb', 'python13.ipynb', 'python14.ipynb', 'python18.ipynb', 'readme.txt', 'removeme.txt', 'sample.txt', 't.c', 't.lnk', 't.slnk', 't.txt', 't1.c', 't1.txt', 't2.txt', 't3.txt', 'teststring2.pyc']\n", "\n", "['.DS_Store', '.git///', '.gitignore', '.ipynb_checkpoints///', 'README.md', 'Speech///', 'assignment-1.ipynb', 'assignment-2.ipynb', 'assignment-3.ipynb', 'assignment-4.ipynb', 'docstring.pyc', 'examples///', 'images///', 'modfile.pyc', 'music', 'mymath.py', 'mymath.pyc', 'mymath02.pyc', 'myweb_backup///', 'name_attr_test.pyc', 'pickle.txt', 'pickle2.txt', 'prname.py', 'prname.pyc', 'public_html///', 'python01.ipynb', 'python02.ipynb', 'python03.ipynb', 'python04.ipynb', 'python05.ipynb', 'python06.ipynb', 'python07.ipynb', 'python08.ipynb', 'python09.ipynb', 'python10.ipynb', 'python11.ipynb', 'python12.ipynb', 'python13.ipynb', 'python14.ipynb', 'python18.ipynb', 'readme.txt', 'removeme.txt', 'sample.txt', 't.c', 't.lnk', 't.slnk', 't.txt', 't1.c', 't1.txt', 't2.txt', 't3.txt', 'teststring2.pyc']\n" ] } ], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-2 \ud30c\uc77c \uc885\ub958 \uc54c\uc544\ubcf4\uae30\n", "- os.path \ubaa8\ub4c8\uc758 \ub2e4\uc74c \ud568\uc218\ub4e4\uc740 \ud30c\uc77c\uc758 \uc885\ub958\ub97c \ud310\ub2e8\ud558\uc5ec True \ub610\ub294 False\ub97c \ubc18\ud658\ud55c\ub2e4.\n", " - isfile(filepath)\n", " - \uc21c\uc218 \ud30c\uc77c\uc774\uba74 True\n", " - isdir(filepath)\n", " - \ub514\ub809\ud1a0\ub9ac\uc774\uba74 True\n", " - islink(filepath)\n", " - \uc2ec\ubcfc\ub9ad\ub9c1\ud06c\uc774\uba74 True\n", " - ismount(filepath)\n", " - \ub9c8\uc6b4\ud2b8 \ud3ec\uc778\ud2b8\uc774\uba74 True" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "def filetype(fpath):\n", " print fpath, ':',\n", " if os.path.isfile(fpath):\n", " print 'Regular file'\n", " if os.path.isdir(fpath):\n", " print 'Directory'\n", " if os.path.islink(fpath):\n", " print 'Symbolic link'\n", " if os.path.ismount(fpath):\n", " print 'Mount point'\n", " \n", "flist = glob.glob('*')\n", "for fname in flist:\n", " filetype(fname)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "assignment-1.ipynb : Regular file\n", "assignment-2.ipynb : Regular file\n", "assignment-3.ipynb : Regular file\n", "assignment-4.ipynb : Regular file\n", "docstring.pyc : Regular file\n", "examples : Directory\n", "images : Directory\n", "modfile.pyc : Regular file\n", "music : Regular file\n", "mymath.py : Regular file\n", "mymath.pyc : Regular file\n", "mymath02.pyc : Regular file\n", "myweb_backup : Directory\n", "name_attr_test.pyc : Regular file\n", "pickle.txt : Regular file\n", "pickle2.txt : Regular file\n", "prname.py : Regular file\n", "prname.pyc : Regular file\n", "public_html : Directory\n", "python01.ipynb : Regular file\n", "python02.ipynb : Regular file\n", "python03.ipynb : Regular file\n", "python04.ipynb : Regular file\n", "python05.ipynb : Regular file\n", "python06.ipynb : Regular file\n", "python07.ipynb : Regular file\n", "python08.ipynb : Regular file\n", "python09.ipynb : Regular file\n", "python10.ipynb : Regular file\n", "python11.ipynb : Regular file\n", "python12.ipynb : Regular file\n", "python13.ipynb : Regular file\n", "python14.ipynb : Regular file\n", "python18.ipynb : Regular file\n", "README.md : Regular file\n", "readme.txt : Regular file\n", "removeme.txt : Regular file\n", "sample.txt : Regular file\n", "Speech : Directory\n", "t.c : Regular file\n", "t.lnk : Regular file\n", "t.slnk : Regular file\n", "Symbolic link\n", "t.txt : Regular file\n", "t1.c : Regular file\n", "t1.txt : Regular file\n", "t2.txt : Regular file\n", "t3.txt : Regular file\n", "teststring2.pyc : Regular file\n" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-3 \ud30c\uc77c\uc758 \ud5c8\uac00\uad8c\n", "#### 1) \ud30c\uc77c\uc758 \ud5c8\uac00\uad8c \uc54c\uc544\ubcf4\uae30\n", "- os.access(filepath, mode)\n", " - mode\uc5d0 \ub4e4\uc5b4\uac08 \uac12\n", " - os.F_OK: \ud30c\uc77c \uc790\uccb4\uac00 \uc874\uc7ac\ud558\ub294 \uac83\uc744 \ud14c\uc2a4\ud2b8\n", " - os.R_OK: \uc77d\uae30 \uad8c\ud55c\uc774 \uc788\ub294 \uac83\uc744 \ud14c\uc2a4\ud2b8\n", " - os.W_OK: \uc4f0\uae30 \uad8c\ud55c\uc774 \uc788\ub294 \uac83\uc744 \ud14c\uc2a4\ud2b8\n", " - os.X_OK: \uc2e4\ud589 \uad8c\ud55c\uc774 \uc788\ub294 \uac83(\ub610\ub294 \ub514\ub809\ud1a0\ub9ac\uc778\uc9c0)\uc744 \ud14c\uc2a4\ud2b8" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os, glob\n", "def fileaccess(fpath):\n", " print fpath, ':',\n", " if os.access(fpath, os.F_OK): \n", " print 'Exists',\n", " else: \n", " return\n", " if os.access(fpath, os.R_OK): \n", " print 'R',\n", " if os.access(fpath, os.W_OK): \n", " print 'W',\n", " if os.access(fpath, os.X_OK): \n", " print 'X',\n", " print \n", " \n", "flist = glob.glob('*')\n", "for fname in flist:\n", " fileaccess(fname)\n", " " ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "assignment-1.ipynb : Exists R W\n", "assignment-2.ipynb : Exists R W\n", "assignment-3.ipynb : Exists R W\n", "assignment-4.ipynb : Exists R W\n", "docstring.pyc : Exists R W\n", "examples : Exists R W X\n", "images : Exists R W X\n", "modfile.pyc : Exists R W\n", "music : Exists R W\n", "mymath.py : Exists R W\n", "mymath.pyc : Exists R W\n", "mymath02.pyc : Exists R W\n", "name_attr_test.pyc : Exists R W\n", "pickle.txt : Exists R W\n", "pickle2.txt : Exists R W\n", "prname.py : Exists R W\n", "prname.pyc : Exists R W\n", "python01.ipynb : Exists R W\n", "python02.ipynb : Exists R W\n", "python03.ipynb : Exists R W\n", "python04.ipynb : Exists R W\n", "python05.ipynb : Exists R W\n", "python06.ipynb : Exists R W\n", "python07.ipynb : Exists R W\n", "python08.ipynb : Exists R W\n", "python09.ipynb : Exists R W\n", "python10.ipynb : Exists R W\n", "python11.ipynb : Exists R W\n", "python12.ipynb : Exists R W\n", "python13.ipynb : Exists R W\n", "python14.ipynb : Exists R W\n", "python18.ipynb : Exists R W\n", "README.md : Exists R W\n", "removeme.txt : Exists R W\n", "sample.txt : Exists R W\n", "Speech : Exists R W X\n", "t.txt : Exists R W\n", "t1.txt : Exists R W\n", "t2.txt : Exists R W\n", "t3.txt : Exists R W\n", "teststring2.pyc : Exists R W\n" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \uc5ec\ub7ec \uac1c\uc758 \ud5c8\uac00\uad8c\uc744 OR \uc5f0\uc0b0\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud55c\uaebc\ubc88\uc5d0 \ucc98\ub9ac \uac00\ub2a5" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print os.access('examples', os.R_OK | os.W_OK | os.X_OK) # \uc77d\uae30, \uc4f0\uae30, \uc2e4\ud589 \uad8c\ud55c \ubaa8\ub450\uac00 \uc788\ub2e4\uba74 1\uc744 \ub9ac\ud134" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "True\n" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "print os.access('examples', os.R_OK | os.W_OK)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "True\n" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "print os.access('python18.ipynb', os.R_OK | os.W_OK | os.X_OK) # 'python18.ipynb'\uc758 \uc2e4\ud589\uad8c\ud55c\uc740 \uc5c6\ub2e4." ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "False\n" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2) \ud30c\uc77c\uc758 \ud5c8\uac00\uad8c \ubcc0\uacbd\ud558\uae30\n", "- os.chmod(filepath, mode)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "os.chmod('sample.txt', 0777) #\ub9ac\ub205\uc2a4\uc5d0\uc11c\uc758 \uc2e4\ud589 \uc608" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": {}, "source": [ "![inheritance](images/chmod.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-4 \ud30c\uc77c \uc870\uc791\ud558\uae30\n", "#### 1) \ud30c\uc77c \uc774\ub984 \ubcc0\uacbd\ud558\uae30\n", "- os.rename(old_filepath, new_filepath)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "os.rename('t.txt', 't1.txt') # t.c\ub97c t1.c\ub85c \ubc14\uafbc\ub2e4\n", "print os.access('t.txt', os.F_OK)\n", "print os.access('t1.txt', os.F_OK)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "False\n", "True\n" ] } ], "prompt_number": 21 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2) \ud30c\uc77c \uc774\ub3d9\ud558\uae30\n", "- os.rename(old_filepath, new_filepath)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "os.rename('t1.txt', 'examples/t1.txt') # \ud604\uc7ac \uc791\uc5c5 \ub514\ub809\ud1a0\ub9ac\uc758 t1.c\ub97c public_html\uc5d0 t1.c\uc774\ub984\uc73c\ub85c \uc62e\uae34\ub2e4.\n", "print os.access('examples/t1.txt', os.F_OK)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "True\n" ] } ], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 3) \ud30c\uc77c \ubcf5\uc0ac\ud558\uae30\n", "- shutil \ubaa8\ub4c8 \ud65c\uc6a9\n", "- shutil.copyfile(src_filepath, dest_filepath)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import shutil\n", "shutil.copyfile('docstring.pyc', 'docstring_new.pyc') #t1.txt -> t1_new.txt\n", "print os.access('docstring_new.pyc', os.F_OK)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "True\n" ] } ], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-5 \ub9c1\ud06c \ud30c\uc77c\n", "#### 1) \ud558\ub4dc \ub9c1\ud06c \ub9cc\ub4e4\uae30" ] }, { "cell_type": "code", "collapsed": false, "input": [ "os.link('t1.c', 't1.lnk')\n", "print os.access('t1.lnk', os.F_OK)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "True\n" ] } ], "prompt_number": 41 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2) \uc2ec\ubcfc\ub9ad \ub9c1\ud06c \ub9cc\ub4e4\uae30" ] }, { "cell_type": "code", "collapsed": false, "input": [ "os.symlink('t1.c', 't1.slnk')\n", "print os.access('t1.slnk', os.F_OK)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "True\n" ] } ], "prompt_number": 37 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 4) \uc2ec\ubcfc\ub9ad \ub9c1\ud06c \uc815\ubcf4 \uc5bb\uae30" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print os.readlink('t1.slnk')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "t1.c\n" ] } ], "prompt_number": 43 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-6 \ud30c\uc77c\uc758 \uc811\uadfc/\uc218\uc815 \uc2dc\uac04 \uc124\uc815\ud558\uae30\n", "- os.utime(filepath, times)\n", " - \ud30c\uc77c \uc811\uadfc \uc2dc\uac04(access time)\uacfc \uc218\uc815 \uc2dc\uac04(modified time)\uc744 \uc870\uc815\ud560 \uc218 \uc788\uc74c\n", " - times \ud615\uc2dd\n", " - (atime, mtime)\n", " - atime: access time\n", " - mtime: modified time" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "import time\n", "os.utime('sample.txt', None) # \ud604\uc7ac \uc2dc\uac04\uc73c\ub85c \uc811\uadfc \uc2dc\uac04\uacfc \uc218\uc815 \uc2dc\uac04\uc744 \uc124\uc815\ud55c\ub2e4.\n", "\n", "atime = time.time()\n", "mtime = atime - 60 * 60 # 1\uc2dc\uac04 (60\ubd84 * 60\ucd08) \uc804\n", "os.utime('sample.txt', (atime, mtime)) # \uc811\uadfc \uc2dc\uac04\uc740 \ud604\uc7ac \uc2dc\uac04, \uc218\uc815 \uc2dc\uac04\uc740 1\uc2dc\uac04 \uc804\uc73c\ub85c \uc124\uc815" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 47 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- os.stat()\n", " - \ud30c\uc77c\uc758 \uc811\uadfc \uc2dc\uac04\uacfc \uc218\uc815 \uc2dc\uac04\uc744 \ud3ec\ud568\ud558\uc5ec \ud30c\uc77c\uc758 \uc5ec\ub7ec\uac00\uc9c0 \uc815\ubcf4\ub97c \uc77d\uc5b4 \uc624\ub294 \ud568\uc218" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os, stat\n", "import time\n", "result = os.stat('sample.txt')\n", "print result\n", "print\n", "\n", "atime = os.stat('sample.txt')[stat.ST_ATIME] # \uc811\uadfc \uc2dc\uac04 \uc77d\uc5b4\uc624\uae30\n", "mtime = os.stat('sample.txt')[stat.ST_MTIME] # \uc218\uc815 \uc2dc\uac04 \uc77d\uc5b4\uc624\uae30\n", "size = os.stat('sample.txt')[stat.ST_SIZE] # \uc218\uc815 \uc2dc\uac04 \uc77d\uc5b4\uc624\uae30\n", "print atime # \uc22b\uc790\ub85c\ub41c \uc2dc\uac04\n", "print mtime\n", "print\n", "print time.ctime(atime) # \ubb38\uc790\uc5f4\ub85c \ubcc0\ud658\n", "print time.ctime(mtime)\n", "print size" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "posix.stat_result(st_mode=33279, st_ino=4164239, st_dev=16777220L, st_nlink=1, st_uid=501, st_gid=20, st_size=240, st_atime=1416633410, st_mtime=1416629810, st_ctime=1416633410)\n", "\n", "1416633410\n", "1416629810\n", "\n", "Sat Nov 22 14:16:50 2014\n", "Sat Nov 22 13:16:50 2014\n", "240\n" ] } ], "prompt_number": 61 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1-7 \uc784\uc2dc \ud30c\uc77c\uc774\ub984 \uc0dd\uc131\ud558\uae30\n", "- tempfile \ubaa8\ub4c8\n", " - mktemp() \ud568\uc218: \uae30\uc874\uc758 \ud30c\uc77c\uba85\uacfc \uc911\ubcf5\ub418\uc9c0 \uc54a\ub294 \ud30c\uc77c\uba85\uc744 \uc9c0\ub2c8\ub294 \uc784\uc2dc \ud30c\uc77c\uc744 \uc0dd\uc131\ud574\uc57c \ud560 \ub54c \ud65c\uc6a9" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import tempfile\n", "tempfile.mktemp()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 59, "text": [ "'/var/folders/zt/34d1dfs94fz_fc834pp0wgs40000gn/T/tmpxEnyJ1'" ] } ], "prompt_number": 59 }, { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "## 02 \ub514\ub809\ud1a0\ub9ac \ub2e4\ub8e8\uae30\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2-1 \ub514\ub809\ud1a0\ub9ac\uc5d0 \uad00\ub828\ub41c \uc77c\ubc18 \uc791\uc5c5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 1) \ud604\uc7ac \uc791\uc5c5 \ub514\ub809\ud1a0\ub9ac \uc54c\uc544\ubcf4\uae30" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print os.getcwd()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Users/yhhan/git/ipython\n" ] } ], "prompt_number": 63 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2) \uc791\uc5c5 \ub514\ub809\ud1a0\ub9ac \ubcc0\uacbd\ud558\uae30" ] }, { "cell_type": "code", "collapsed": false, "input": [ "os.chdir('/Users/yhhan/Public/')\n", "print os.getcwd()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Users/yhhan/Public\n" ] } ], "prompt_number": 69 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 3) \ub514\ub809\ud1a0\ub9ac \ub9cc\ub4e4\uae30" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "\n", "os.mkdir('temp') # 0777 \uae30\ubcf8 \ubaa8\ub4dc(rwxrwxrwx)\ub85c \ub9cc\ub4e4\uc5b4\uc9d0\n", "os.mkdir('temp2', 0700) # 0700 \ubaa8\ub4dc(rwx------)\ub85c \ub9cc\ub4e4\uc5b4\uc9d0\n", "os.makedirs('temp/level1/level2') #0777 \uae30\ubcf8 \ubaa8\ub4dc, \uc911\uac04\uc5d0 \ud544\uc694\ud55c \ub514\ub809\ud1a0\ub9ac\ub3c4 \ubaa8\ub450\uc0dd\uc131\n", "\n", "print os.access('/Users/yhhan/Public/temp', os.F_OK)\n", "print os.access('/Users/yhhan/Public/temp2', os.F_OK)\n", "print os.access('/Users/yhhan/Public/temp/level1/level2', os.F_OK)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "True\n", "True\n", "True\n" ] } ], "prompt_number": 72 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 4) \ub514\ub809\ud1a0\ub9ac \uc0ad\uc81c" ] }, { "cell_type": "code", "collapsed": false, "input": [ "os.rmdir('temp2') #\ub514\ub809\ud1a0\ub9ac\uc5d0 \ub0b4\uc6a9\uc774 \uc5c6\uc744 \ub54c \uc0ad\uc81c\uac00\ub2a5" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 73 }, { "cell_type": "code", "collapsed": false, "input": [ "os.rmdir('temp') #\ub514\ub809\ud1a0\ub9ac\uc5d0 \ub2e4\ub978 \ud30c\uc77c\uc774 \uc788\uc73c\uba74 \uc0ad\uc81c\ud560 \uc218 \uc5c6\uc74c" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "OSError", "evalue": "[Errno 66] Directory not empty: 'temp'", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mOSError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrmdir\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'temp'\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m#\ub514\ub809\ud1a0\ub9ac\uc5d0 \ub2e4\ub978 \ud30c\uc77c\uc774 \uc788\uc73c\uba74 \uc0ad\uc81c\ud560 \uc218 \uc5c6\uc74c\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mOSError\u001b[0m: [Errno 66] Directory not empty: 'temp'" ] } ], "prompt_number": 74 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 5) \ub2e4\ub2e8\uacc4 \ub514\ub809\ud1a0\ub9ac \uc0ad\uc81c\n", "- os.removedirs(filepath)\n", " - filepath\uc5d0 \uc9c0\uc815\ub41c \ub514\ub809\ud1a0\ub9ac\ub4e4 \uc911 \ub9e8 \uc624\ub978\ucabd \ub514\ub809\ud1a0\ub9ac \ubd80\ud130 \ucc28\ub840\ucc28\ub840\ub85c \uc0ad\uc81c\ud55c\ub2e4.\n", " - \ub514\ub809\ud1a0\ub9ac\uc5d0 \ub2e4\ub978 \ud30c\uc77c\uc774 \uc788\uc73c\uba74 \uc0ad\uc81c\ud558\uae30 \uc54a\uace0 \uc911\ub2e8" ] }, { "cell_type": "code", "collapsed": false, "input": [ "os.removedirs('temp/level1/level2')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 79 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 6) \ud558\uc704 \ub514\ub809\ud1a0\ub9ac\uae4c\uc9c0 \ubaa8\ub450 \ud55c\ubc88\uc5d0 \uc0ad\uc81c\n", "- shutil.rmtree() \n", " - \ud30c\uc77c\uc740 \ubb3c\ub860 \ud558\uc704 \ub514\ub809\ud1a0\ub9ac\uae4c\uc9c0 \ubaa8\ub450 \ud55c\ubc88\uc5d0 \uc0ad\uc81c \uac00\ub2a5" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import shutil\n", "shutil.rmtree('temp') # shutil \ubaa8\ub4c8\uc758 rmtree()\ub97c \uc774\uc6a9\ud558\uba74 \ud558\uc704\ud30c\uc77c, \ub514\ub809\ud1a0\ub9ac\ub97c \ud55c \ubc88\uc5d0 \uc0ad\uc81c\ud568(\uc870\uc2ec\ud574\uc11c \uc0ac\uc6a9\ud560 \uac83!!!)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 82 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 7) \ub514\ub809\ud1a0\ub9ac \ubcf5\uc0ac\n", "- shutil.copytree(src_filepath, dest_filepath)\n", " - \ud558\uc704 \ub514\ub809\ud1a0\ub9ac\uc640 \ud30c\uc77c\ub4f1\uc744 \uc9c0\ub2c8\uace0 \uc788\ub294 \ub514\ub809\ud1a0\ub9ac\ub97c \ubcf5\uc0ac" ] }, { "cell_type": "code", "collapsed": false, "input": [ "os.mkdir('temp') \n", "os.mkdir('temp/temp2', 0700)\n", "shutil.copytree('temp', 'myweb_backup') # public_html\ub514\ub809\ud1a0\ub9ac\ub97c myweb_backup\ub514\ub809\ud1a0\ub9ac\ub85c \ubcf5\uc0ac" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 84 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2-2 \ub514\ub809\ud1a0\ub9ac(\ud2b8\ub9ac) \ud0d0\uc0c9\ud558\uae30\n", "- os.walk(filepath)\n", " - filepath \ubd80\ud130 \uc7ac\uadc0\uc801\uc73c\ub85c \ubaa8\ub4e0 \ud558\uc704 \ub514\ub809\ud1a0\ub9ac\uae4c\uc9c0 \ud0d0\uc0c9\uc744 \ud558\ub294 \ud568\uc218\n", " - \ud0d0\uc0c9\uc2dc \ubc1c\uacac\ud558\ub294 \ubaa8\ub4e0 \ud30c\uc77c\uc5d0 \ub300\ud574\uc11c\ub294 \ub2e4\uc74c \ud29c\ud50c\uc744 \ub9ac\ud134\ud568\n", " - (dirpath, dirnames, filemnames)\n", " - dirpath: \ud0d0\uc0c9\ud558\uace0 \uc788\ub294 \ub514\ub809\ud1a0\ub9ac \uacbd\ub85c\n", " - dirnames: dirpath \uc548\uc5d0 \uc874\uc7ac\ud558\ub294 \uc11c\ube0c \ub514\ub809\ud1a0\ub9ac\uc758 \ub9ac\uc2a4\ud2b8\n", " - filenames: dirpath \uc548\uc5d0 \uc874\uc7ac\ud558\ub294 \ud30c\uc77c \ub9ac\uc2a4\ud2b8" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \uc544\ub798 \uc608\ub294 \ud604\uc7ac \ub514\ub809\ud1a0\ub9ac\ubd80\ud130 \ubaa8\ub4e0 \ud558\uc704 \ub514\ub809\ud1a0\ub9ac \ub0b4\uc5d0 \uc874\uc7ac\ud558\ub294 \ubaa8\ub4e0 pyc \ud30c\uc77c\uc744 \uc0ad\uc81c\ud558\ub294 \ud504\ub85c\uadf8\ub7a8" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "print os.getcwd()\n", "print\n", "for root, dirs, files in os.walk(os.getcwd()):\n", " for fname in files:\n", " if fname.endswith('.pyc'):\n", " fullpath = os.path.join(root, fname)\n", " print 'removing', fullpath\n", " os.remove(fullpath)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Users/yhhan/git/ipython\n", "\n", "removing /Users/yhhan/git/ipython/docstring.pyc\n", "removing /Users/yhhan/git/ipython/docstring_new.pyc\n", "removing /Users/yhhan/git/ipython/modfile.pyc\n", "removing /Users/yhhan/git/ipython/mymath.pyc\n", "removing /Users/yhhan/git/ipython/mymath02.pyc\n", "removing /Users/yhhan/git/ipython/name_attr_test.pyc\n", "removing /Users/yhhan/git/ipython/prname.pyc\n", "removing /Users/yhhan/git/ipython/teststring2.pyc\n", "removing" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " /Users/yhhan/git/ipython/Speech/__init__.pyc\n", "removing /Users/yhhan/git/ipython/Speech/Recognition/__init__.pyc\n", "removing /Users/yhhan/git/ipython/Speech/Recognition/DTW.pyc\n", "removing /Users/yhhan/git/ipython/Speech/Recognition/HMM.pyc\n", "removing /Users/yhhan/git/ipython/Speech/Recognition/NN.pyc\n", "removing /Users/yhhan/git/ipython/Speech/SignalProcessing/__init__.pyc\n", "removing /Users/yhhan/git/ipython/Speech/SignalProcessing/Cepstrum.pyc\n", "removing /Users/yhhan/git/ipython/Speech/SignalProcessing/FFT.pyc\n", "removing /Users/yhhan/git/ipython/Speech/Synthesis/__init__.pyc\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "- \ubc29\ubb38\ud560 \uc11c\ube0c\ub514\ub809\ud1a0\ub9ac\ub97c \uc120\ud0dd\ud558\ub294 \ubc29\ubc95" ] }, { "cell_type": "code", "collapsed": false, "input": [ "for root, dirs, files in os.walk(\"/Users/yhhan/git/ipython/Speech\"):\n", " print '%s files in %s' %(len(files), root) #\ub514\ub809\ud1a0\ub9ac\uc5d0 \uc788\ub294 \ud30c\uc77c \uc218\ucd9c\ub825\n", " print dirs\n", " if 'Recognition' in dirs:\n", " print 'Reconition found'\n", " print" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1 files in /Users/yhhan/git/ipython/Speech\n", "['Recognition', 'SignalProcessing', 'Synthesis']\n", "Reconition found\n", "\n", "4 files in /Users/yhhan/git/ipython/Speech/Recognition\n", "['Adaptation']\n", "\n", "2 files in /Users/yhhan/git/ipython/Speech/Recognition/Adaptation\n", "[]\n", "\n", "5 files in /Users/yhhan/git/ipython/Speech/SignalProcessing\n", "[]\n", "\n", "4 files in /Users/yhhan/git/ipython/Speech/Synthesis\n", "[]\n", "\n" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "## 03 \ud30c\uc77c \uc774\ub984 \ub2e4\ub8e8\uae30\n", "***" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3-1 \ud30c\uc77c\uacfc \uad00\ub828\ub41c \uc77c\ubc18 \uc791\uc5c5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 1) \uc0c1\ub300 \uacbd\ub85c\ub97c \uc808\ub300 \uacbd\ub85c\ub85c \ubcc0\ud658\ud558\uae30\n", "- os.path.abspath(\uc0c1\ub300\uacbd\ub85c)\n", " - \uc2e4\uc81c \ud30c\uc77c \uc874\uc7ac\uc640\ub294 \ubb34\uad00\ud558\uac8c \uc808\ub300\uacbd\ub85c\ub85c \ubcc0\uacbd\ud568" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "print os.path.abspath('o.txt')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Users/yhhan/git/ipython/o.txt\n" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2) \uc8fc\uc5b4\uc9c4 \uacbd\ub85c\uc758 \ud30c\uc77c\uc774 \uc874\uc7ac\ud558\ub294\uc9c0 \ud655\uc778\n", "- os.path.exists(filepath)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "f = '/Users/yhhan/git/ipython/sample.txt'\n", "print os.path.exists(f)\n", "print os.path.exists('sample.txt')\n", "print os.path.exists('asdf.txt')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "True\n", "True\n", "False\n" ] } ], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 3) \uc0ac\uc6a9\uc790 \ud648 \ub514\ub809\ud1a0\ub9ac \uacbd\ub85c\uba85 \ud655\uc7a5\ud558\uae30\n", "- os.path.expanduser(filepath)\n", " - \uc0ac\uc6a9\uc790 \ud648 \ub514\ub809\ud1a0\ub9ac \ubc11\uc73c\ub85c filepath\ub97c \ub36b\ubd99\uc5ec \ubc18\ud658\n", " - filepath\ub294 '~/'\ub85c \uc2dc\uc791\ud574\uc57c \ud568\n", " - \uc2e4\uc81c \ud30c\uc77c \uc874\uc7ac \uc720\ubb34\uc640 \ubb34\uad00" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "print os.path.expanduser('~/sample.txt')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/Users/yhhan/sample.txt\n" ] } ], "prompt_number": 24 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 4) \ud30c\uc77c\uba85 \uc5f0\uacb0\ud558\uae30\n", "- os.path.join(filenames...)\n", " - filenames\uc5d0 \uc8fc\uc5b4\uc9c4 \uac01\uac01\uc758 \ubb38\uc790\uc5f4\ub4e4\uc744 \ud558\ub098\uc758 \ud30c\uc77c \uacbd\ub85c\ub85c \ub9cc\ub4e4\uc5b4 \uc900\ub2e4." ] }, { "cell_type": "code", "collapsed": false, "input": [ "os.path.join('a', 'b', 'c', 'd.txt')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 33, "text": [ "'a/b/c/d.txt'" ] } ], "prompt_number": 33 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 5) \ud604\uc7ac/\ubd80\ubaa8 \ub514\ub809\ud1a0\ub9ac\ub97c \uac00\ub9ac\ud0a4\ub294 \uc774\ub984 \uc5bb\uae30" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print os.curdir #\ud604\uc7ac \ub514\ub809\ud1a0\ub9ac\n", "print os.pardir #\ubd80\ubaa8 \ub514\ub809\ud1a0\ub9ac" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ ".\n", "..\n" ] } ], "prompt_number": 25 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 6) \ub514\ub809\ud1a0\ub9ac \ubd84\ub9ac \ubb38\uc790 \uc5bb\uae30" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print os.sep" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "/\n" ] } ], "prompt_number": 26 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3-2 \uacbd\ub85c\uba85 \ubd84\ub9ac\ud558\uae30" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 1) \uacbd\ub85c\uc640 \ud30c\uc77c\uba85\uc73c\ub85c \ubd84\ub9ac" ] }, { "cell_type": "code", "collapsed": false, "input": [ "f = '/Users/yhhan/ipython/t.txt'\n", "\n", "print os.path.basename(f) # \ud30c\uc77c\uba85\ub9cc \ucd94\ucd9c\n", "print os.path.dirname(f) # \ub514\ub809\ud1a0\ub9ac \uacbd\ub85c \ucd94\ucd9c" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "t.txt\n", "/Users/yhhan/ipython\n" ] } ], "prompt_number": 27 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 2) \uacbd\ub85c\uba85\uacfc \ud30c\uc77c\uba85\uc744 \ud55c\ubc88\uc5d0 \ubd84\ub9ac" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print os.path.split(f)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "('/Users/yhhan/ipython', 't.txt')\n" ] } ], "prompt_number": 28 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 3) MS \uc708\ub3c4\uc6b0\uc988\uc5d0\uc11c \ub4dc\ub77c\uc774\ube0c\uba85\uacfc \ud30c\uc77c \uacbd\ub85c\uba85\uc744 \ubd84\ub9ac" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print os.path.splitdrive(f)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "('', '/Users/yhhan/ipython/t.txt')\n" ] } ], "prompt_number": 30 }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 4) \ud655\uc7a5\uc790 \ubd84\ub9ac" ] }, { "cell_type": "code", "collapsed": false, "input": [ "print os.path.splitext(f)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "('/Users/yhhan/ipython/t', '.txt')\n" ] } ], "prompt_number": 32 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3-3 \ud30c\uc77c \uc774\ub984\uc774 \ud328\ud134\uacfc \uc77c\uce58\ud558\ub294\uc9c0 \uc54c\uc544\ubcf4\uae30\n", "- fnmatch \ubaa8\ub4c8\n", " - fnmatch.fnmatch(filepath, \ud328\ud134)\n", " - \uc8fc\uc5b4\uc9c4 filepath\uac00 \ud328\ud134\uc5d0 \uc77c\uce58\ud558\ub294\uc9c0 \uac80\uc0ac\ud558\uc5ec True \ub610\ub294 Fasle\ub97c \ubc18\ud658\ud55c\ub2e4.\n", " - \ud328\ud134\uc740 glob.glob\uc5d0 \ud65c\uc6a9\ud558\ub294 \uac83\uacfc \ub3d9\uc77c\ud558\ub2e4." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import fnmatch\n", "print fnmatch.fnmatch('t.txt', '?.txt')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "True\n" ] } ], "prompt_number": 33 }, { "cell_type": "code", "collapsed": false, "input": [ "print fnmatch.fnmatch('a.txt', '[abc].txt')\n", "print fnmatch.fnmatch('b.txt', '[abc].txt')\n", "print fnmatch.fnmatch('c.txt', '[abc].txt')\n", "print fnmatch.fnmatch('d.txt', '[abc].txt')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "True\n", "True\n", "True\n", "False\n" ] } ], "prompt_number": 34 } ], "metadata": {} } ] }