PageRenderTime 24ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/intro/language/standard_library.html

https://github.com/tris-sondon/scipy-lectures.github.com
HTML | 331 lines | 293 code | 38 blank | 0 comment | 0 complexity | 58a0d2dc29b326d34792d440470e1ff8 MD5 | raw file
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>1.2.8. Standard Library &mdash; Scipy lecture notes</title>
  7. <link rel="stylesheet" href="../../_static/default.css" type="text/css" />
  8. <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
  9. <script type="text/javascript">
  10. var DOCUMENTATION_OPTIONS = {
  11. URL_ROOT: '../../',
  12. VERSION: '2011',
  13. COLLAPSE_INDEX: false,
  14. FILE_SUFFIX: '.html',
  15. HAS_SOURCE: true
  16. };
  17. </script>
  18. <script type="text/javascript" src="../../_static/jquery.js"></script>
  19. <script type="text/javascript" src="../../_static/underscore.js"></script>
  20. <script type="text/javascript" src="../../_static/doctools.js"></script>
  21. <link rel="top" title="Scipy lecture notes" href="../../index.html" />
  22. <link rel="up" title="1.2. The Python language" href="python_language.html" />
  23. <link rel="next" title="1.2.9. Exceptions handling in Python" href="exceptions.html" />
  24. <link rel="prev" title="1.2.7. Input and Output" href="io.html" />
  25. </head>
  26. <body>
  27. <div class="related">
  28. <h3>Navigation</h3>
  29. <ul>
  30. <li class="right" style="margin-right: 10px">
  31. <a href="exceptions.html" title="1.2.9. Exceptions handling in Python"
  32. accesskey="N">next</a></li>
  33. <li class="right" >
  34. <a href="io.html" title="1.2.7. Input and Output"
  35. accesskey="P">previous</a> |</li>
  36. <li><a href="../../index.html">Scipy lecture notes</a> &raquo;</li>
  37. <li><a href="../index.html" >1. Getting started with Python for science</a> &raquo;</li>
  38. <li><a href="python_language.html" accesskey="U">1.2. The Python language</a> &raquo;</li>
  39. </ul>
  40. </div>
  41. <div class="document">
  42. <div class="documentwrapper">
  43. <div class="body">
  44. <div class="section" id="standard-library">
  45. <h1>1.2.8. Standard Library<a class="headerlink" href="#standard-library" title="Permalink to this headline"></a></h1>
  46. <div class="admonition note">
  47. <p class="first admonition-title">Note</p>
  48. <p>Reference document for this section:</p>
  49. <ul class="last simple">
  50. <li>The Python Standard Library documentation:
  51. <a class="reference external" href="http://docs.python.org/library/index.html">http://docs.python.org/library/index.html</a></li>
  52. <li>Python Essential Reference, David Beazley, Addison-Wesley Professional</li>
  53. </ul>
  54. </div>
  55. <div class="section" id="os-module-operating-system-functionality">
  56. <h2>1.2.8.1. <tt class="docutils literal"><span class="pre">os</span></tt> module: operating system functionality<a class="headerlink" href="#os-module-operating-system-functionality" title="Permalink to this headline"></a></h2>
  57. <p><em>&#8220;A portable way of using operating system dependent functionality.&#8221;</em></p>
  58. <div class="section" id="directory-and-file-manipulation">
  59. <h3>1.2.8.1.1. Directory and file manipulation<a class="headerlink" href="#directory-and-file-manipulation" title="Permalink to this headline"></a></h3>
  60. <p>Current directory:</p>
  61. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [17]: </span><span class="n">os</span><span class="o">.</span><span class="n">getcwd</span><span class="p">()</span>
  62. <span class="go">Out[17]: </span><span class="s">&#39;/Users/cburns/src/scipy2009/scipy_2009_tutorial/source&#39;</span>
  63. </pre></div>
  64. </div>
  65. <p>List a directory:</p>
  66. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [31]: </span><span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">curdir</span><span class="p">)</span>
  67. <span class="go">Out[31]:</span>
  68. <span class="go">[&#39;.index.rst.swo&#39;,</span>
  69. <span class="go"> &#39;.python_language.rst.swp&#39;,</span>
  70. <span class="go"> &#39;.view_array.py.swp&#39;,</span>
  71. <span class="go"> &#39;_static&#39;,</span>
  72. <span class="go"> &#39;_templates&#39;,</span>
  73. <span class="go"> &#39;basic_types.rst&#39;,</span>
  74. <span class="go"> &#39;conf.py&#39;,</span>
  75. <span class="go"> &#39;control_flow.rst&#39;,</span>
  76. <span class="go"> &#39;debugging.rst&#39;,</span>
  77. <span class="go"> ...</span>
  78. </pre></div>
  79. </div>
  80. <p>Make a directory:</p>
  81. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [32]: </span><span class="n">os</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="s">&#39;junkdir&#39;</span><span class="p">)</span>
  82. <span class="gp">In [33]: </span><span class="s">&#39;junkdir&#39;</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">curdir</span><span class="p">)</span>
  83. <span class="go">Out[33]: </span><span class="bp">True</span>
  84. </pre></div>
  85. </div>
  86. <p>Rename the directory:</p>
  87. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [36]: </span><span class="n">os</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="s">&#39;junkdir&#39;</span><span class="p">,</span> <span class="s">&#39;foodir&#39;</span><span class="p">)</span>
  88. <span class="gp">In [37]: </span><span class="s">&#39;junkdir&#39;</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">curdir</span><span class="p">)</span>
  89. <span class="go">Out[37]: </span><span class="bp">False</span>
  90. <span class="gp">In [38]: </span><span class="s">&#39;foodir&#39;</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">curdir</span><span class="p">)</span>
  91. <span class="go">Out[38]: </span><span class="bp">True</span>
  92. <span class="gp">In [41]: </span><span class="n">os</span><span class="o">.</span><span class="n">rmdir</span><span class="p">(</span><span class="s">&#39;foodir&#39;</span><span class="p">)</span>
  93. <span class="gp">In [42]: </span><span class="s">&#39;foodir&#39;</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">curdir</span><span class="p">)</span>
  94. <span class="go">Out[42]: </span><span class="bp">False</span>
  95. </pre></div>
  96. </div>
  97. <p>Delete a file:</p>
  98. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [44]: </span><span class="n">fp</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s">&#39;junk.txt&#39;</span><span class="p">,</span> <span class="s">&#39;w&#39;</span><span class="p">)</span>
  99. <span class="gp">In [45]: </span><span class="n">fp</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
  100. <span class="gp">In [46]: </span><span class="s">&#39;junk.txt&#39;</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">curdir</span><span class="p">)</span>
  101. <span class="go">Out[46]: </span><span class="bp">True</span>
  102. <span class="gp">In [47]: </span><span class="n">os</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="s">&#39;junk.txt&#39;</span><span class="p">)</span>
  103. <span class="gp">In [48]: </span><span class="s">&#39;junk.txt&#39;</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">listdir</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">curdir</span><span class="p">)</span>
  104. <span class="go">Out[48]: </span><span class="bp">False</span>
  105. </pre></div>
  106. </div>
  107. </div>
  108. <div class="section" id="os-path-path-manipulations">
  109. <h3>1.2.8.1.2. <tt class="docutils literal"><span class="pre">os.path</span></tt>: path manipulations<a class="headerlink" href="#os-path-path-manipulations" title="Permalink to this headline"></a></h3>
  110. <p><tt class="docutils literal"><span class="pre">os.path</span></tt> provides common operations on pathnames.</p>
  111. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [70]: </span><span class="n">fp</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s">&#39;junk.txt&#39;</span><span class="p">,</span> <span class="s">&#39;w&#39;</span><span class="p">)</span>
  112. <span class="gp">In [71]: </span><span class="n">fp</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
  113. <span class="gp">In [72]: </span><span class="n">a</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="s">&#39;junk.txt&#39;</span><span class="p">)</span>
  114. <span class="gp">In [73]: </span><span class="n">a</span>
  115. <span class="go">Out[73]: </span><span class="s">&#39;/Users/cburns/src/scipy2009/scipy_2009_tutorial/source/junk.txt&#39;</span>
  116. <span class="gp">In [74]: </span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
  117. <span class="go">Out[74]: </span><span class="p">(</span><span class="s">&#39;/Users/cburns/src/scipy2009/scipy_2009_tutorial/source&#39;</span><span class="p">,</span>
  118. <span class="go"> &#39;junk.txt&#39;)</span>
  119. <span class="gp">In [78]: </span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
  120. <span class="go">Out[78]: </span><span class="s">&#39;/Users/cburns/src/scipy2009/scipy_2009_tutorial/source&#39;</span>
  121. <span class="gp">In [79]: </span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">a</span><span class="p">)</span>
  122. <span class="go">Out[79]: </span><span class="s">&#39;junk.txt&#39;</span>
  123. <span class="gp">In [80]: </span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">splitext</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">a</span><span class="p">))</span>
  124. <span class="go">Out[80]: </span><span class="p">(</span><span class="s">&#39;junk&#39;</span><span class="p">,</span> <span class="s">&#39;.txt&#39;</span><span class="p">)</span>
  125. <span class="gp">In [84]: </span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">exists</span><span class="p">(</span><span class="s">&#39;junk.txt&#39;</span><span class="p">)</span>
  126. <span class="go">Out[84]: </span><span class="bp">True</span>
  127. <span class="gp">In [86]: </span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isfile</span><span class="p">(</span><span class="s">&#39;junk.txt&#39;</span><span class="p">)</span>
  128. <span class="go">Out[86]: </span><span class="bp">True</span>
  129. <span class="gp">In [87]: </span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">isdir</span><span class="p">(</span><span class="s">&#39;junk.txt&#39;</span><span class="p">)</span>
  130. <span class="go">Out[87]: </span><span class="bp">False</span>
  131. <span class="gp">In [88]: </span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="s">&#39;~/local&#39;</span><span class="p">)</span>
  132. <span class="go">Out[88]: </span><span class="s">&#39;/Users/cburns/local&#39;</span>
  133. <span class="gp">In [92]: </span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="s">&#39;~&#39;</span><span class="p">),</span> <span class="s">&#39;local&#39;</span><span class="p">,</span> <span class="s">&#39;bin&#39;</span><span class="p">)</span>
  134. <span class="go">Out[92]: </span><span class="s">&#39;/Users/cburns/local/bin&#39;</span>
  135. </pre></div>
  136. </div>
  137. </div>
  138. <div class="section" id="running-an-external-command">
  139. <h3>1.2.8.1.3. Running an external command<a class="headerlink" href="#running-an-external-command" title="Permalink to this headline"></a></h3>
  140. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [8]: </span><span class="n">os</span><span class="o">.</span><span class="n">system</span><span class="p">(</span><span class="s">&#39;ls *&#39;</span><span class="p">)</span>
  141. <span class="go">conf.py debug_file.py demo2.py~ demo.py demo.pyc my_file.py~</span>
  142. <span class="go">conf.py~ demo2.py demo2.pyc demo.py~ my_file.py pi_wallis_image.py</span>
  143. </pre></div>
  144. </div>
  145. </div>
  146. <div class="section" id="walking-a-directory">
  147. <h3>1.2.8.1.4. Walking a directory<a class="headerlink" href="#walking-a-directory" title="Permalink to this headline"></a></h3>
  148. <p><tt class="docutils literal"><span class="pre">os.path.walk</span></tt> generates a list of filenames in a directory tree.</p>
  149. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [10]: </span><span class="k">for</span> <span class="n">dirpath</span><span class="p">,</span> <span class="n">dirnames</span><span class="p">,</span> <span class="n">filenames</span> <span class="ow">in</span> <span class="n">os</span><span class="o">.</span><span class="n">walk</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">curdir</span><span class="p">):</span>
  150. <span class="gp"> ....:</span> <span class="k">for</span> <span class="n">fp</span> <span class="ow">in</span> <span class="n">filenames</span><span class="p">:</span>
  151. <span class="gp"> ....:</span> <span class="k">print</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">fp</span><span class="p">)</span>
  152. <span class="gp"> ....:</span>
  153. <span class="gp"> ....:</span>
  154. <span class="go">/Users/cburns/src/scipy2009/scipy_2009_tutorial/source/.index.rst.swo</span>
  155. <span class="go">/Users/cburns/src/scipy2009/scipy_2009_tutorial/source/.view_array.py.swp</span>
  156. <span class="go">/Users/cburns/src/scipy2009/scipy_2009_tutorial/source/basic_types.rst</span>
  157. <span class="go">/Users/cburns/src/scipy2009/scipy_2009_tutorial/source/conf.py</span>
  158. <span class="go">/Users/cburns/src/scipy2009/scipy_2009_tutorial/source/control_flow.rst</span>
  159. <span class="go">...</span>
  160. </pre></div>
  161. </div>
  162. </div>
  163. <div class="section" id="environment-variables">
  164. <h3>1.2.8.1.5. Environment variables:<a class="headerlink" href="#environment-variables" title="Permalink to this headline"></a></h3>
  165. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [9]: </span><span class="kn">import</span> <span class="nn">os</span>
  166. <span class="gp">In [11]: </span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
  167. <span class="go">Out[11]:</span>
  168. <span class="go">[&#39;_&#39;,</span>
  169. <span class="go"> &#39;FSLDIR&#39;,</span>
  170. <span class="go"> &#39;TERM_PROGRAM_VERSION&#39;,</span>
  171. <span class="go"> &#39;FSLREMOTECALL&#39;,</span>
  172. <span class="go"> &#39;USER&#39;,</span>
  173. <span class="go"> &#39;HOME&#39;,</span>
  174. <span class="go"> &#39;PATH&#39;,</span>
  175. <span class="go"> &#39;PS1&#39;,</span>
  176. <span class="go"> &#39;SHELL&#39;,</span>
  177. <span class="go"> &#39;EDITOR&#39;,</span>
  178. <span class="go"> &#39;WORKON_HOME&#39;,</span>
  179. <span class="go"> &#39;PYTHONPATH&#39;,</span>
  180. <span class="go"> ...</span>
  181. <span class="gp">In [12]: </span><span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="p">[</span><span class="s">&#39;PYTHONPATH&#39;</span><span class="p">]</span>
  182. <span class="go">Out[12]: </span><span class="s">&#39;.:/Users/cburns/src/utils:/Users/cburns/src/nitools:</span>
  183. <span class="go">/Users/cburns/local/lib/python2.5/site-packages/:</span>
  184. <span class="go">/usr/local/lib/python2.5/site-packages/:</span>
  185. <span class="go">/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5&#39;</span>
  186. <span class="gp">In [16]: </span><span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s">&#39;PYTHONPATH&#39;</span><span class="p">)</span>
  187. <span class="go">Out[16]: </span><span class="s">&#39;.:/Users/cburns/src/utils:/Users/cburns/src/nitools:</span>
  188. <span class="go">/Users/cburns/local/lib/python2.5/site-packages/:</span>
  189. <span class="go">/usr/local/lib/python2.5/site-packages/:</span>
  190. <span class="go">/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5&#39;</span>
  191. </pre></div>
  192. </div>
  193. </div>
  194. </div>
  195. <div class="section" id="shutil-high-level-file-operations">
  196. <h2>1.2.8.2. <tt class="docutils literal"><span class="pre">shutil</span></tt>: high-level file operations<a class="headerlink" href="#shutil-high-level-file-operations" title="Permalink to this headline"></a></h2>
  197. <p>The <tt class="docutils literal"><span class="pre">shutil</span></tt> provides useful file operations:</p>
  198. <blockquote>
  199. <ul class="simple">
  200. <li><tt class="docutils literal"><span class="pre">shutil.rmtree</span></tt>: Recursively delete a directory tree.</li>
  201. <li><tt class="docutils literal"><span class="pre">shutil.move</span></tt>: Recursively move a file or directory to another location.</li>
  202. <li><tt class="docutils literal"><span class="pre">shutil.copy</span></tt>: Copy files or directories.</li>
  203. </ul>
  204. </blockquote>
  205. </div>
  206. <div class="section" id="glob-pattern-matching-on-files">
  207. <h2>1.2.8.3. <tt class="docutils literal"><span class="pre">glob</span></tt>: Pattern matching on files<a class="headerlink" href="#glob-pattern-matching-on-files" title="Permalink to this headline"></a></h2>
  208. <p>The <tt class="docutils literal"><span class="pre">glob</span></tt> module provides convenient file pattern matching.</p>
  209. <p>Find all files ending in <tt class="docutils literal"><span class="pre">.txt</span></tt>:</p>
  210. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [18]: </span><span class="kn">import</span> <span class="nn">glob</span>
  211. <span class="gp">In [19]: </span><span class="n">glob</span><span class="o">.</span><span class="n">glob</span><span class="p">(</span><span class="s">&#39;*.txt&#39;</span><span class="p">)</span>
  212. <span class="go">Out[19]: </span><span class="p">[</span><span class="s">&#39;holy_grail.txt&#39;</span><span class="p">,</span> <span class="s">&#39;junk.txt&#39;</span><span class="p">,</span> <span class="s">&#39;newfile.txt&#39;</span><span class="p">]</span>
  213. </pre></div>
  214. </div>
  215. </div>
  216. <div class="section" id="sys-module-system-specific-information">
  217. <h2>1.2.8.4. <tt class="docutils literal"><span class="pre">sys</span></tt> module: system-specific information<a class="headerlink" href="#sys-module-system-specific-information" title="Permalink to this headline"></a></h2>
  218. <p>System-specific information related to the Python interpreter.</p>
  219. <ul>
  220. <li><p class="first">Which version of python are you running and where is it installed:</p>
  221. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [117]: </span><span class="n">sys</span><span class="o">.</span><span class="n">platform</span>
  222. <span class="go">Out[117]: </span><span class="s">&#39;darwin&#39;</span>
  223. <span class="gp">In [118]: </span><span class="n">sys</span><span class="o">.</span><span class="n">version</span>
  224. <span class="go">Out[118]: </span><span class="s">&#39;2.5.2 (r252:60911, Feb 22 2008, 07:57:53) </span><span class="se">\n</span>
  225. <span class="go"> [GCC 4.0.1 (Apple Computer, Inc. build 5363)]&#39;</span>
  226. <span class="gp">In [119]: </span><span class="n">sys</span><span class="o">.</span><span class="n">prefix</span>
  227. <span class="go">Out[119]: </span><span class="s">&#39;/Library/Frameworks/Python.framework/Versions/2.5&#39;</span>
  228. </pre></div>
  229. </div>
  230. </li>
  231. <li><p class="first">List of command line arguments passed to a Python script:</p>
  232. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [100]: </span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span>
  233. <span class="go">Out[100]: </span><span class="p">[</span><span class="s">&#39;/Users/cburns/local/bin/ipython&#39;</span><span class="p">]</span>
  234. </pre></div>
  235. </div>
  236. </li>
  237. </ul>
  238. <p><tt class="docutils literal"><span class="pre">sys.path</span></tt> is a list of strings that specifies the search path for
  239. modules. Initialized from PYTHONPATH:</p>
  240. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [121]: </span><span class="n">sys</span><span class="o">.</span><span class="n">path</span>
  241. <span class="go">Out[121]:</span>
  242. <span class="go">[&#39;&#39;,</span>
  243. <span class="go"> &#39;/Users/cburns/local/bin&#39;,</span>
  244. <span class="go"> &#39;/Users/cburns/local/lib/python2.5/site-packages/grin-1.1-py2.5.egg&#39;,</span>
  245. <span class="go"> &#39;/Users/cburns/local/lib/python2.5/site-packages/argparse-0.8.0-py2.5.egg&#39;,</span>
  246. <span class="go"> &#39;/Users/cburns/local/lib/python2.5/site-packages/urwid-0.9.7.1-py2.5.egg&#39;,</span>
  247. <span class="go"> &#39;/Users/cburns/local/lib/python2.5/site-packages/yolk-0.4.1-py2.5.egg&#39;,</span>
  248. <span class="go"> &#39;/Users/cburns/local/lib/python2.5/site-packages/virtualenv-1.2-py2.5.egg&#39;,</span>
  249. <span class="go"> ...</span>
  250. </pre></div>
  251. </div>
  252. </div>
  253. <div class="section" id="pickle-easy-persistence">
  254. <h2>1.2.8.5. <tt class="docutils literal"><span class="pre">pickle</span></tt>: easy persistence<a class="headerlink" href="#pickle-easy-persistence" title="Permalink to this headline"></a></h2>
  255. <p>Useful to store arbitrary objects to a file. Not safe or fast!</p>
  256. <div class="highlight-ipython"><div class="highlight"><pre><span class="gp">In [1]: </span><span class="kn">import</span> <span class="nn">pickle</span>
  257. <span class="gp">In [2]: </span><span class="n">l</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="s">&#39;Stan&#39;</span><span class="p">]</span>
  258. <span class="gp">In [3]: </span><span class="n">pickle</span><span class="o">.</span><span class="n">dump</span><span class="p">(</span><span class="n">l</span><span class="p">,</span> <span class="nb">file</span><span class="p">(</span><span class="s">&#39;test.pkl&#39;</span><span class="p">,</span> <span class="s">&#39;w&#39;</span><span class="p">))</span>
  259. <span class="gp">In [4]: </span><span class="n">pickle</span><span class="o">.</span><span class="n">load</span><span class="p">(</span><span class="nb">file</span><span class="p">(</span><span class="s">&#39;test.pkl&#39;</span><span class="p">))</span>
  260. <span class="go">Out[4]: </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="bp">None</span><span class="p">,</span> <span class="s">&#39;Stan&#39;</span><span class="p">]</span>
  261. </pre></div>
  262. </div>
  263. <div class="topic">
  264. <p class="topic-title first">Exercise</p>
  265. <p>Write a program to search your PYTHONPATH for the module <tt class="docutils literal"><span class="pre">site.py</span></tt>.</p>
  266. </div>
  267. <p><a class="reference internal" href="../solutions.html#path-site"><em>The PYTHONPATH Search Solution</em></a></p>
  268. </div>
  269. </div>
  270. </div>
  271. </div>
  272. <div class="clearer"></div>
  273. </div>
  274. <div class="related">
  275. <h3>Navigation</h3>
  276. <ul>
  277. <li class="right" style="margin-right: 10px">
  278. <a href="exceptions.html" title="1.2.9. Exceptions handling in Python"
  279. >next</a></li>
  280. <li class="right" >
  281. <a href="io.html" title="1.2.7. Input and Output"
  282. >previous</a> |</li>
  283. <li><a href="../../index.html">Scipy lecture notes</a> &raquo;</li>
  284. <li><a href="../index.html" >1. Getting started with Python for science</a> &raquo;</li>
  285. <li><a href="python_language.html" >1.2. The Python language</a> &raquo;</li>
  286. </ul>
  287. </div>
  288. <div class="footer">
  289. &copy; Copyright 2011.
  290. Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.
  291. </div>
  292. </body>
  293. </html>