python初步学习-python模块之 os、sys、random、itertools、colorsys模块

论坛 期权论坛     
选择匿名的用户   2021-6-2 18:50   916   0
<h2 id="os"><strong>一、os模块</strong></h2>
<blockquote>
<p>os 模块在运维工作中是很常用的一个模块。通过os模块调用系统命令。os模块可以跨平台使用。</p>
<p>说明:os模块是对操作系统进行调用的接口</p>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td> <p>1</p> <p>2</p> <p>3</p> <p>4</p> <p>5</p> <p>6</p> <p>7</p> <p>8</p> <p>9</p> <p>10</p> <p>11</p> <p>12</p> <p>13</p> <p>14</p> <p>15</p> <p>16</p> <p>17</p> <p>18</p> <p>19</p> <p>20</p> <p>21</p> <p>22</p> <p>23</p> <p>24</p> <p>25</p> <p>26</p> </td><td> <p><code>os.pardir  </code><code>#获取当前目录的父目录字符串名:(&#39;..&#39;)</code></p> <p><code>os.makedirs(</code><code>&#39;dirname1/dirname2&#39;</code><code>)    </code><code>#可生成多层递归目录</code></p> <p><code>os.removedirs(</code><code>&#39;dirname1&#39;</code><code>)    </code><code>#若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推</code></p> <p><code>os.mkdir(</code><code>&#39;dirname&#39;</code><code>)    </code><code>#生成单级目录;相当于shell中mkdir dirname</code></p> <p><code>os.rmdir(</code><code>&#39;dirname&#39;</code><code>)    </code><code>#删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname</code></p> <p><code>os.listdir(</code><code>&#39;dirname&#39;</code><code>)    </code><code>#列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印</code></p> <p><code>os.remove()  </code><code>#删除一个文件</code></p> <p><code>os.rename(</code><code>&#34;oldname&#34;</code><code>,</code><code>&#34;newname&#34;</code><code>)  </code><code>#重命名文件/目录</code></p> <p><code>os.stat(</code><code>&#39;path/filename&#39;</code><code>)  </code><code>#获取文件/目录信息</code></p> <p><code>os.sep    </code><code>#输出操作系统特定的路径分隔符,win下为&#34;\\&#34;,Linux下为&#34;/&#34;</code></p> <p><code>os.linesep    </code><code>#输出当前平台使用的行终止符,win下为&#34;\t\n&#34;,Linux下为&#34;\n&#34;</code></p> <p><code>os.pathsep    </code><code>#输出用于分割文件路径的字符串</code></p> <p><code>os.name    </code><code>#输出字符串指示当前使用平台。win-&gt;&#39;nt&#39;; Linux-&gt;&#39;posix&#39;</code></p> <p><code>os.system(</code><code>&#34;bash command&#34;</code><code>)  </code><code>#运行shell命令,直接显示</code></p> <p><code>os.environ  </code><code>#获取系统环境变量</code></p> <p><code>os.path.abspath(path)  </code><code>#返回path规范化的绝对路径</code></p> <p><code>os.path.split(path)  </code><code>#将path分割成目录和文件名二元组返回</code></p> <p><code>os.path.dirname(path)  </code><code>#返回path的目录。其实就是os.path.split(path)的第一个元素</code></p> <p><code>os.path.basename(path)  </code><code>#返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素</code></p> <p><code>os.path.exists(path)  </code><code>#如果path存在,返回True;如果path不存在,返回False</code></p> <p><code>os.path.isabs(path)  </code><code>#如果path是绝对路径,返回True</code></p> <p><code>os.path.isfile(path)  </code><code>#如果path是一个存在的文件,返回True。否则返回False</code></p> <p><code>os.path.isdir(path)  </code><code>#如果path是一个存在的目录,则返回True。否则返回False</code></p> <p><code>os.path.join(path1[, path2[, ...]])  </code><code>#将多个路径组合后返回,第一个绝对路径之前的参数将被忽略</code></p> <p><code>os.path.getatime(path)  </code><code>#返回path所指向的文件或者目录的最后存取时间</code></p> <p><code>os.path.getmtime(path)  </code><code>#返回path所指向的文件或者目录的最后修改时间</code></p> </td></tr></tbody></table>
</blockquote>
<p>在 <code>import os</code>的时候,建议使用<code>import os</code>而非<code>from os import *</code>。这样可以避免<code>os.open()</code>不会覆盖内置函数<code>open()</code>.</p>
<p><a name="_label0_0"></a></p>
<h3 id="os.name"><code>(1)os.name()</code></h3>
<p>判断系统类型</p>
<pre class="blockcode"><code>import os
print os.name

# linux和Unix系统会返回&#96;posix&#96;
# windows 系统会返回&#96;nt&#96;
</code></pre>
<p><a name="_label0_1"></a></p>
<h3 id="os.system"><code>(2)os.system()</code></h3>
<p>执行系统命令的模块,返回命令执行的<strong>状态码</strong>,开启一个子shell执行命令</p>
<pre class="blockcode"><code>import os

cmd &#61; &#39;ifconfig&#39;

retval &#61; os.system(cmd)
print retval

# 结果为 0
# 表示命令执行成功,否则为失败
</code></pre>
<p><a name="_label0_2"></a></p>
<h3 id="os.popen"><code>(3)os.popen()</code></h3>
<p><code>popen</code>也是去执行一个命令,不过相比system(cmd),os.popen(command [, mode&#61;&#39;r&#39; [, bufsize]]),参数更多,
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP