1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">chdir</span><span class="pun">(</span><span class="str">"dirname"</span><span class="pun">)</span> <span class="pun">改变当前脚本工作目录;相当于</span><span class="pln">shell</span><span class="pun">下</span><span class="pln">cd</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">curdir </span><span class="pun">返回当前目录:</span> <span class="pun">(</span><span class="str">'.'</span><span class="pun">)</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">pardir </span><span class="pun">获取当前目录的父目录字符串名:(</span><span class="str">'..'</span><span class="pun">)</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">makedirs</span><span class="pun">(</span><span class="str">'dirname1/dirname2'</span><span class="pun">)</span> <span class="pun">可生成多层递归目录</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">removedirs</span><span class="pun">(</span><span class="str">'dirname1'</span><span class="pun">)</span> <span class="pun">若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">mkdir</span><span class="pun">(</span><span class="str">'dirname'</span><span class="pun">)</span> <span class="pun">生成单级目录;相当于</span><span class="pln">shell</span><span class="pun">中</span><span class="pln">mkdir dirname</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">rmdir</span><span class="pun">(</span><span class="str">'dirname'</span><span class="pun">)</span> <span class="pun">删除单级空目录,若目录不为空则无法删除,报错;相当于</span><span class="pln">shell</span><span class="pun">中</span><span class="pln">rmdir dirname</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">listdir</span><span class="pun">(</span><span class="str">'dirname'</span><span class="pun">)</span> <span class="pun">列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">remove</span><span class="pun">()</span> <span class="pun">删除一个文件</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">rename</span><span class="pun">(</span><span class="str">"oldname"</span><span class="pun">,</span><span class="str">"newname"</span><span class="pun">)</span> <span class="pun">重命名文件/目录</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">stat</span><span class="pun">(</span><span class="str">'path/filename'</span><span class="pun">)</span> <span class="pun">获取文件/目录信息</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">symlink</span><span class="pun">(</span><span class="str">'path/filename'</span><span class="pun">,</span><span class="str">'ln_filename'</span><span class="pun">)</span> <span class="pun">创建符号链接,源需绝对路径</span> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">utime</span><span class="pun">()</span> <span class="pun">修改时间属性</span> <span class="pun">>>></span> <span class="kwd">import</span><span class="pln"> os </span><span class="pun">>>></span><span class="pln"> stinfo </span><span class="pun">=</span><span class="pln"> os</span><span class="pun">.</span><span class="pln">stat</span><span class="pun">(</span><span class="str">'c.py'</span><span class="pun">)</span> <span class="pun">>>></span> <span class="kwd">print</span> <span class="str">"access time of c.py: %s \nmodified time of c.py: %s"</span> <span class="pun">%</span> <span class="pun">(</span><span class="pln">stinfo</span><span class="pun">.</span><span class="pln">st_atime</span><span class="pun">,</span><span class="pln">stinfo</span><span class="pun">.</span><span class="pln">st_mtime</span><span class="pun">)</span><span class="pln"> access time of c</span><span class="pun">.</span><span class="pln">py</span><span class="pun">:</span> <span class="lit">1375448908.0</span><span class="pln"> modified time of c</span><span class="pun">.</span><span class="pln">py</span><span class="pun">:</span> <span class="lit">1369735909.0</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">utime</span><span class="pun">(</span><span class="str">'c.py'</span><span class="pun">,(</span><span class="lit">1375448978</span><span class="pun">,</span><span class="lit">1369735977</span><span class="pun">))</span> <span class="pun">>>></span> <span class="kwd">print</span> <span class="str">"access time of c.py: %s \nmodified time of c.py: %s"</span> <span class="pun">%</span> <span class="pun">(</span><span class="pln">stinfo</span><span class="pun">.</span><span class="pln">st_atime</span><span class="pun">,</span><span class="pln">stinfo</span><span class="pun">.</span><span class="pln">st_mtime</span><span class="pun">)</span><span class="pln"> access time of c</span><span class="pun">.</span><span class="pln">py</span><span class="pun">:</span> <span class="lit">1375448908.0</span><span class="pln"> modified time of c</span><span class="pun">.</span><span class="pln">py</span><span class="pun">:</span> <span class="lit">1369735909.0</span> <span class="pun">退出</span><span class="typ">Python</span><span class="pun">交互模式,再次进入</span> <span class="pun">>>></span> <span class="kwd">import</span><span class="pln"> os </span><span class="pun">>>></span><span class="pln"> stinfo </span><span class="pun">=</span><span class="pln"> os</span><span class="pun">.</span><span class="pln">stat</span><span class="pun">(</span><span class="str">'c.py'</span><span class="pun">)</span> <span class="pun">>>></span> <span class="kwd">print</span> <span class="str">"access time of c.py: %s \nmodified time of c.py: %s"</span> <span class="pun">%</span> <span class="pun">(</span><span class="pln">stinfo</span><span class="pun">.</span><span class="pln">st_atime</span><span class="pun">,</span><span class="pln">stinfo</span><span class="pun">.</span><span class="pln">st_mtime</span><span class="pun">)</span><span class="pln"> access time of c</span><span class="pun">.</span><span class="pln">py</span><span class="pun">:</span> <span class="lit">1375448978.0</span><span class="pln"> modified time of c</span><span class="pun">.</span><span class="pln">py</span><span class="pun">:</span> <span class="lit">1369735977.0</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">walk</span><span class="pun">()</span> <span class="pun">生成一个目录树下的所有文件名</span> |
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
- top表示需要遍历的目录树的路径
- topdown的默认值是"True",表示首先返回目录树下的文件,然后在遍历目录树的子目录.Topdown的值为"False"时,则表示先遍历目录树的子目录,返回子目录下的文件,最后返回根目录下的文件
- onerror的默认值是"None",表示忽略文件遍历时产生的错误.如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历
该函数返回一个元组,该元组有3个元素,这3个元素分别表示每次遍历的路径名,目录列表和文件列表
os.walk()举例:
1 2 3 4 5 6 7 |
<span class="pun">>>></span> <span class="kwd">import</span><span class="pln"> os </span><span class="pun">>>></span> <span class="kwd">for</span><span class="pln"> root</span><span class="pun">,</span><span class="pln"> dirs</span><span class="pun">,</span><span class="pln"> files </span><span class="kwd">in</span><span class="pln"> os</span><span class="pun">.</span><span class="pln">walk</span><span class="pun">(</span><span class="str">"wd/chat"</span><span class="pun">,</span><span class="pln"> topdown</span><span class="pun">=</span><span class="kwd">False</span><span class="pun">):</span> <span class="pun">...</span> <span class="kwd">for</span><span class="pln"> name </span><span class="kwd">in</span><span class="pln"> files</span><span class="pun">:</span> <span class="pun">...</span> <span class="kwd">print</span><span class="pun">(</span><span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="pln">root</span><span class="pun">,</span><span class="pln"> name</span><span class="pun">))</span> <span class="com">#打印文件绝对路径</span> <span class="pun">...</span> <span class="kwd">for</span><span class="pln"> name </span><span class="kwd">in</span><span class="pln"> dirs</span><span class="pun">:</span> <span class="pun">...</span> <span class="kwd">print</span><span class="pun">(</span><span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="pln">root</span><span class="pun">,</span><span class="pln"> name</span><span class="pun">))</span> <span class="com">#打印目录绝对路径</span> <span class="pun">...</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">tmpfile</span><span class="pun">()</span> <span class="pun">创建并打开‘</span><span class="pln">w</span><span class="pun">+</span><span class="pln">b</span><span class="pun">’一个新的临时文件</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">sep </span><span class="pun">输出操作系统特定的路径分隔符,</span><span class="pln">win</span><span class="pun">下为</span><span class="str">"\\"</span><span class="pun">,</span><span class="typ">Linux</span><span class="pun">下为</span><span class="str">"/"</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">linesep </span><span class="pun">输出当前平台使用的行终止符,</span><span class="pln">win</span><span class="pun">下为</span><span class="str">"\t\n"</span><span class="pun">,</span><span class="typ">Linux</span><span class="pun">下为</span><span class="str">"\n"</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">pathsep </span><span class="pun">输出用于分割文件路径的字符串</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">name </span><span class="pun">输出字符串指示当前使用平台。</span><span class="pln">win</span><span class="pun">-></span><span class="str">'nt'</span><span class="pun">;</span> <span class="typ">Linux</span><span class="pun">-></span><span class="str">'posix'</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">system</span><span class="pun">(</span><span class="str">"bash command"</span><span class="pun">)</span> <span class="pun">运行</span><span class="pln">shell</span><span class="pun">命令,直接显示</span> |
1 2 3 4 5 6 7 8 9 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">popen</span><span class="pun">(</span><span class="str">"bash command"</span><span class="pun">)</span> <span class="pun">运行</span><span class="pln">shell</span><span class="pun">命令,生成对象,可赋给变量,再用</span><span class="pln">read</span><span class="pun">读取</span> <span class="pun">>>></span> <span class="kwd">import</span><span class="pln"> os </span><span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">system</span><span class="pun">(</span><span class="str">'ls twisted'</span><span class="pun">)</span><span class="pln"> chat_client_twisted</span><span class="pun">.</span><span class="pln">py chat_server_twisted</span><span class="pun">.</span><span class="pln">py </span><span class="lit">0</span> <span class="pun">>>></span><span class="pln"> LS </span><span class="pun">=</span><span class="pln"> os</span><span class="pun">.</span><span class="pln">popen</span><span class="pun">(</span><span class="str">'ls twisted'</span><span class="pun">)</span> <span class="pun">>>></span><span class="pln"> LS</span><span class="pun">.</span><span class="pln">readlines</span><span class="pun">()</span> <span class="pun">[</span><span class="str">'chat_client_twisted.py\n'</span><span class="pun">,</span> <span class="str">'chat_server_twisted.py\n'</span><span class="pun">]</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">environ </span><span class="pun">获取系统环境变量</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">access</span><span class="pun">(</span><span class="str">'pathfile'</span><span class="pun">,</span><span class="pln">os</span><span class="pun">.</span><span class="pln">W_OK</span><span class="pun">)</span> <span class="pun">检验文件权限模式,输出</span><span class="kwd">True</span><span class="pun">,</span><span class="kwd">False</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">chmod</span><span class="pun">(</span><span class="str">'pathfile'</span><span class="pun">,</span><span class="pln">os</span><span class="pun">.</span><span class="pln">W_OK</span><span class="pun">)</span> <span class="pun">改变文件权限模式</span> |
1 2 3 4 5 6 7 8 9 10 |
<span class="com"># echo 'test' > test.sh</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">access</span><span class="pun">(</span><span class="str">'test.sh'</span><span class="pun">,</span><span class="pln">os</span><span class="pun">.</span><span class="pln">W_OK</span><span class="pun">)</span> <span class="kwd">True</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">access</span><span class="pun">(</span><span class="str">'test.sh'</span><span class="pun">,</span><span class="pln">os</span><span class="pun">.</span><span class="pln">X_OK</span><span class="pun">)</span> <span class="kwd">False</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">chmod</span><span class="pun">(</span><span class="str">'test.sh'</span><span class="pun">,</span><span class="pln">os</span><span class="pun">.</span><span class="pln">X_OK</span><span class="pun">)</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">access</span><span class="pun">(</span><span class="str">'test.sh'</span><span class="pun">,</span><span class="pln">os</span><span class="pun">.</span><span class="pln">X_OK</span><span class="pun">)</span> <span class="kwd">True</span> <span class="com"># ls -l test.sh</span> <span class="pun">---------</span><span class="pln">x </span><span class="lit">1</span><span class="pln"> root root </span><span class="lit">12</span> <span class="typ">Oct</span> <span class="lit">20</span> <span class="lit">23</span><span class="pun">:</span><span class="lit">03</span><span class="pln"> test</span><span class="pun">.</span><span class="pln">sh</span> |
os.path常用模块详解
1 2 3 4 5 6 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">abspath</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">返回</span><span class="pln">path</span><span class="pun">规范化的绝对路径</span> <span class="pun">>>></span> <span class="kwd">import</span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path </span><span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">abspath</span><span class="pun">(</span><span class="str">'c.py'</span><span class="pun">)</span> <span class="str">'/root/py/c.py'</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">abspath</span><span class="pun">(</span><span class="str">'../py/c.py'</span><span class="pun">)</span> <span class="str">'/root/py/c.py'</span> |
1 2 3 4 5 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">split</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">将</span><span class="pln">path</span><span class="pun">分割成目录和文件名二元组返回</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">split</span><span class="pun">(</span><span class="str">'/root/py/c.py'</span><span class="pun">)</span> <span class="pun">(</span><span class="str">'/root/py'</span><span class="pun">,</span> <span class="str">'c.py'</span><span class="pun">)</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">split</span><span class="pun">(</span><span class="str">'/root/py/'</span><span class="pun">)</span> <span class="pun">(</span><span class="str">'/root/py'</span><span class="pun">,</span> <span class="str">''</span><span class="pun">)</span> |
1 2 3 4 5 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">dirname</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">返回</span><span class="pln">path</span><span class="pun">的目录。其实就是</span><span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">split</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)的第一个元素</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">dirname</span><span class="pun">(</span><span class="str">'/root/py/c.py'</span><span class="pun">)</span> <span class="str">'/root/py'</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">dirname</span><span class="pun">(</span><span class="str">'c.py'</span><span class="pun">)</span> <span class="str">''</span> |
1 2 3 4 5 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">basename</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">返回</span><span class="pln">path</span><span class="pun">最后的文件名。如何</span><span class="pln">path</span><span class="pun">以/或</span><span class="pln">\结</span><span class="pun">尾,那么就会返回空值。即</span><span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">split</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)的第二个元素</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">basename</span><span class="pun">(</span><span class="str">'/root/py/c.py'</span><span class="pun">)</span> <span class="str">'c.py'</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">basename</span><span class="pun">(</span><span class="str">'/root/py'</span><span class="pun">)</span> <span class="str">'py'</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">commonprefix</span><span class="pun">(</span><span class="pln">list</span><span class="pun">)</span> <span class="pun">返回</span><span class="pln">list</span><span class="pun">中,所有</span><span class="pln">path</span><span class="pun">共有的最长的路径,从左向右,相同字符</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">exists</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">如果</span><span class="pln">path</span><span class="pun">存在,返回</span><span class="kwd">True</span><span class="pun">;如果</span><span class="pln">path</span><span class="pun">不存在,返回</span><span class="kwd">False</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">isabs</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">如果</span><span class="pln">path</span><span class="pun">是绝对路径,返回</span><span class="kwd">True</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">isfile</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">如果</span><span class="pln">path</span><span class="pun">是一个存在的文件,返回</span><span class="kwd">True</span><span class="pun">。否则返回</span><span class="kwd">False</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">isdir</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">如果</span><span class="pln">path</span><span class="pun">是一个存在的目录,则返回</span><span class="kwd">True</span><span class="pun">。否则返回</span><span class="kwd">False</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="pln">path1</span><span class="pun">[,</span><span class="pln"> path2</span><span class="pun">[,</span> <span class="pun">...]])</span> <span class="pun">将多个路径组合后返回,第一个绝对路径之前的参数将被忽略</span> |
1 2 3 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">normcase</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">在</span><span class="typ">Linux</span><span class="pun">下,该函数会原样返回</span><span class="pln">path</span><span class="pun">,在</span><span class="pln">windows</span><span class="pun">平台上会将路径中所有字符转换为小写,并将所有斜杠转换为反斜杠</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">normcase</span><span class="pun">(</span><span class="str">'c:/windows\\system32\\'</span><span class="pun">)</span> <span class="str">'c:\\windows\\system32\\'</span> |
1 2 3 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">normpath</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">规范化路径</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">normpath</span><span class="pun">(</span><span class="str">'c://windows\\System32\\../Temp/'</span><span class="pun">)</span> <span class="str">'c:\\windows\\Temp'</span> |
1 2 3 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">splitdrive</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">拆分驱动器名和路径,主要对</span><span class="pln">win</span><span class="pun">,对</span><span class="pln">linux</span><span class="pun">元组第一个总是空的</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">splitdrive</span><span class="pun">(</span><span class="str">'c:\\windows'</span><span class="pun">)</span> <span class="pun">(</span><span class="str">'c:'</span><span class="pun">,</span> <span class="str">'\\windows'</span><span class="pun">)</span> |
1 2 3 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">splitext</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">分离文件名与扩展名;默认返回(</span><span class="pln">fname</span><span class="pun">,</span><span class="pln">fextension</span><span class="pun">)元组,可做分片操作</span> <span class="pun">,以“.”为分隔符</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">splitext</span><span class="pun">(</span><span class="str">'/root/py/c.py'</span><span class="pun">)</span> <span class="pun">(</span><span class="str">'/root/py/c'</span><span class="pun">,</span> <span class="str">'.py'</span><span class="pun">)</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">getsize</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">返回</span><span class="pln">path</span><span class="pun">的大小(字节)</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">getatime</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">返回</span><span class="pln">path</span><span class="pun">所指向的文件或者目录的最后存取时间</span> |
1 |
<span class="pln">os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">getmtime</span><span class="pun">(</span><span class="pln">path</span><span class="pun">)</span> <span class="pun">返回</span><span class="pln">path</span><span class="pun">所指向的文件或者目录的最后修改时间</span> |
os.path.walk(top,func,arg)
- top表示需要遍历的目录树的路径
- func表示回调函数,对遍历路径进行处理.所谓回调函数,是作为某个函数的参数使用,当某个时间触发时,程序将调用定义好的回调函数处理某个任务.回调函数必须提供3个参数:第1个参数为walk()的参数tag,第2个参数表示目录列表,第3个参数表示文件列表
- arg是传递给回调参数func的元组.回调函数的一个参数必须是arg,为回调函数提供处理参数.参数arg可以为空
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<span class="pun">>>></span> <span class="kwd">import</span><span class="pln"> os </span><span class="pun">>>></span> <span class="kwd">def</span> <span class="typ">VisitDir</span><span class="pun">(</span><span class="pln">arg</span><span class="pun">,</span><span class="pln">dirname</span><span class="pun">,</span><span class="pln">names</span><span class="pun">):</span> <span class="pun">...</span> <span class="kwd">for</span><span class="pln"> filespath </span><span class="kwd">in</span><span class="pln"> names</span><span class="pun">:</span> <span class="pun">...</span> <span class="kwd">print</span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="pln">dirname</span><span class="pun">,</span><span class="pln">filespath</span><span class="pun">)</span> <span class="pun">...</span> <span class="pun">>>></span><span class="pln"> path</span><span class="pun">=</span><span class="str">'/root/py/wd/chat'</span> <span class="pun">>>></span><span class="pln"> os</span><span class="pun">.</span><span class="pln">path</span><span class="pun">.</span><span class="pln">walk</span><span class="pun">(</span><span class="pln">path</span><span class="pun">,</span><span class="typ">VisitDir</span><span class="pun">,())</span> <span class="pun">/</span><span class="pln">root</span><span class="pun">/</span><span class="pln">py</span><span class="pun">/</span><span class="pln">wd</span><span class="pun">/</span><span class="pln">chat</span><span class="pun">/</span><span class="pln">chat_server</span><span class="pun">.</span><span class="pln">py </span><span class="pun">/</span><span class="pln">root</span><span class="pun">/</span><span class="pln">py</span><span class="pun">/</span><span class="pln">wd</span><span class="pun">/</span><span class="pln">chat</span><span class="pun">/</span><span class="pln">chat_client</span><span class="pun">.</span><span class="pln">py </span><span class="pun">/</span><span class="pln">root</span><span class="pun">/</span><span class="pln">py</span><span class="pun">/</span><span class="pln">wd</span><span class="pun">/</span><span class="pln">chat</span><span class="pun">/</span><span class="pln">test </span><span class="pun">/</span><span class="pln">root</span><span class="pun">/</span><span class="pln">py</span><span class="pun">/</span><span class="pln">wd</span><span class="pun">/</span><span class="pln">chat</span><span class="pun">/</span><span class="pln">test</span><span class="pun">/</span><span class="pln">linuxeye </span><span class="pun">/</span><span class="pln">root</span><span class="pun">/</span><span class="pln">py</span><span class="pun">/</span><span class="pln">wd</span><span class="pun">/</span><span class="pln">chat</span><span class="pun">/</span><span class="pln">test</span><span class="pun">/</span><span class="pln">test2 </span><span class="pun">/</span><span class="pln">root</span><span class="pun">/</span><span class="pln">py</span><span class="pun">/</span><span class="pln">wd</span><span class="pun">/</span><span class="pln">chat</span><span class="pun">/</span><span class="pln">test</span><span class="pun">/</span><span class="pln">test3 </span><span class="pun">/</span><span class="pln">root</span><span class="pun">/</span><span class="pln">py</span><span class="pun">/</span><span class="pln">wd</span><span class="pun">/</span><span class="pln">chat</span><span class="pun">/</span><span class="pln">test</span><span class="pun">/</span><span class="pln">test2</span><span class="pun">/</span><span class="pln">asdf </span><span class="pun">/</span><span class="pln">root</span><span class="pun">/</span><span class="pln">py</span><span class="pun">/</span><span class="pln">wd</span><span class="pun">/</span><span class="pln">chat</span><span class="pun">/</span><span class="pln">test</span><span class="pun">/</span><span class="pln">test3</span><span class="pun">/</span><span class="pln">sdfaxx</span> |
os.path.walk()与os.walk()产生的文件名列表并不相同。os.path.walk()产生目录树下的目录路径和文件路径,而os.walk()只产生文件路径
