summaryrefslogtreecommitdiff
path: root/doc/sample_html/_ned_py_path.html
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2010-02-24 21:06:10 -0500
committerNed Batchelder <ned@nedbatchelder.com>2010-02-24 21:06:10 -0500
commit62d8c7049747d5d529bb16f2427b1130ac1b6e93 (patch)
tree65d9018c9f357d43d45dacb7e09a2196f4408271 /doc/sample_html/_ned_py_path.html
parent641b53b96bccb763beb2ad257ff3d6593cf27fec (diff)
downloadpython-coveragepy-git-62d8c7049747d5d529bb16f2427b1130ac1b6e93.tar.gz
Latest sample HTML output
Diffstat (limited to 'doc/sample_html/_ned_py_path.html')
-rw-r--r--doc/sample_html/_ned_py_path.html2960
1 files changed, 1474 insertions, 1486 deletions
diff --git a/doc/sample_html/_ned_py_path.html b/doc/sample_html/_ned_py_path.html
index 0a60bbef..72f1d755 100644
--- a/doc/sample_html/_ned_py_path.html
+++ b/doc/sample_html/_ned_py_path.html
@@ -1,26 +1,14 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
-<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
-<title>Coverage for c:\ned\py\path</title>
-<link rel='stylesheet' href='style.css' type='text/css'>
-<script type='text/javascript' src='jquery-1.3.2.min.js'></script>
-<script type='text/javascript'>
-function toggle_lines(btn, cls) {
- var btn = $(btn);
- var hide = "hide_"+cls;
- if (btn.hasClass(hide)) {
- $("#source ."+cls).removeClass(hide);
- btn.removeClass(hide);
- }
- else {
- $("#source ."+cls).addClass(hide);
- btn.addClass(hide);
- }
-}
-</script>
+ <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
+ <title>Coverage for c:\ned\py\path: 35%</title>
+ <link rel='stylesheet' href='style.css' type='text/css'>
+ <script type='text/javascript' src='jquery-1.3.2.min.js'></script>
+ <script type='text/javascript' src='coverage_html.js'></script>
</head>
<body>
+
<div id='header'>
<div class='content'>
<h1>Coverage for <b>c:\ned\py\path</b> :
@@ -39,1474 +27,1474 @@ function toggle_lines(btn, cls) {
</div>
<div id='source'>
-<table cellspacing='0' cellpadding='0'>
-<tr>
-<td class='linenos' valign='top'>
-<p class='pln'>1</p>
-<p class='pln'>2</p>
-<p class='pln'>3</p>
-<p class='pln'>4</p>
-<p class='pln'>5</p>
-<p class='pln'>6</p>
-<p class='pln'>7</p>
-<p class='pln'>8</p>
-<p class='pln'>9</p>
-<p class='pln'>10</p>
-<p class='pln'>11</p>
-<p class='pln'>12</p>
-<p class='pln'>13</p>
-<p class='pln'>14</p>
-<p class='pln'>15</p>
-<p class='pln'>16</p>
-<p class='pln'>17</p>
-<p class='pln'>18</p>
-<p class='pln'>19</p>
-<p class='pln'>20</p>
-<p class='pln'>21</p>
-<p class='pln'>22</p>
-<p class='pln'>23</p>
-<p class='pln'>24</p>
-<p class='pln'>25</p>
-<p class='pln'>26</p>
-<p class='pln'>27</p>
-<p class='pln'>28</p>
-<p class='pln'>29</p>
-<p class='pln'>30</p>
-<p class='pln'>31</p>
-<p class='stm run hide_run'>32</p>
-<p class='pln'>33</p>
-<p class='stm run hide_run'>34</p>
-<p class='pln'>35</p>
-<p class='stm run hide_run'>36</p>
-<p class='stm run hide_run'>37</p>
-<p class='pln'>38</p>
-<p class='pln'>39</p>
-<p class='stm run hide_run'>40</p>
-<p class='stm run hide_run'>41</p>
-<p class='stm par run hide_run'>42</p>
-<p class='stm run hide_run'>43</p>
-<p class='stm mis'>44</p>
-<p class='stm mis'>45</p>
-<p class='pln'>46</p>
-<p class='pln'>47</p>
-<p class='stm run hide_run'>48</p>
-<p class='stm run hide_run'>49</p>
-<p class='stm mis'>50</p>
-<p class='stm mis'>51</p>
-<p class='pln'>52</p>
-<p class='pln'>53</p>
-<p class='stm run hide_run'>54</p>
-<p class='stm par run hide_run'>55</p>
-<p class='stm run hide_run'>56</p>
-<p class='pln'>57</p>
-<p class='pln'>58</p>
-<p class='stm run hide_run'>59</p>
-<p class='pln'>60</p>
-<p class='pln'>61</p>
-<p class='pln'>62</p>
-<p class='pln'>63</p>
-<p class='pln'>64</p>
-<p class='pln'>65</p>
-<p class='pln'>66</p>
-<p class='pln'>67</p>
-<p class='stm run hide_run'>68</p>
-<p class='stm mis'>69</p>
-<p class='pln'>70</p>
-<p class='pln'>71</p>
-<p class='stm run hide_run'>72</p>
-<p class='stm mis'>73</p>
-<p class='pln'>74</p>
-<p class='stm run hide_run'>75</p>
-<p class='stm mis'>76</p>
-<p class='pln'>77</p>
-<p class='pln'>78</p>
-<p class='stm run hide_run'>79</p>
-<p class='pln'>80</p>
-<p class='pln'>81</p>
-<p class='pln'>82</p>
-<p class='pln'>83</p>
-<p class='pln'>84</p>
-<p class='stm mis'>85</p>
-<p class='pln'>86</p>
-<p class='pln'>87</p>
-<p class='stm run hide_run'>88</p>
-<p class='pln'>89</p>
-<p class='stm run hide_run'>90</p>
-<p class='pln'>91</p>
-<p class='stm mis'>92</p>
-<p class='stm run hide_run'>93</p>
-<p class='pln'>94</p>
-<p class='pln'>95</p>
-<p class='pln'>96</p>
-<p class='pln'>97</p>
-<p class='stm par run hide_run'>98</p>
-<p class='stm par run hide_run'>99</p>
-<p class='stm par run hide_run'>100</p>
-<p class='stm par run hide_run'>101</p>
-<p class='stm par run hide_run'>102</p>
-<p class='stm par run hide_run'>103</p>
-<p class='stm par run hide_run'>104</p>
-<p class='stm run hide_run'>105</p>
-<p class='pln'>106</p>
-<p class='stm run hide_run'>107</p>
-<p class='pln'>108</p>
-<p class='pln'>109</p>
-<p class='pln'>110</p>
-<p class='pln'>111</p>
-<p class='pln'>112</p>
-<p class='pln'>113</p>
-<p class='stm mis'>114</p>
-<p class='pln'>115</p>
-<p class='stm run hide_run'>116</p>
-<p class='stm mis'>117</p>
-<p class='stm mis'>118</p>
-<p class='pln'>119</p>
-<p class='stm run hide_run'>120</p>
-<p class='stm mis'>121</p>
-<p class='stm mis'>122</p>
-<p class='pln'>123</p>
-<p class='stm run hide_run'>124</p>
-<p class='stm mis'>125</p>
-<p class='stm mis'>126</p>
-<p class='pln'>127</p>
-<p class='stm run hide_run'>128</p>
-<p class='pln'>129</p>
-<p class='pln'>130</p>
-<p class='pln'>131</p>
-<p class='pln'>132</p>
-<p class='pln'>133</p>
-<p class='pln'>134</p>
-<p class='stm run hide_run'>135</p>
-<p class='pln'>136</p>
-<p class='pln'>137</p>
-<p class='pln'>138</p>
-<p class='pln'>139</p>
-<p class='pln'>140</p>
-<p class='pln'>141</p>
-<p class='stm run hide_run'>142</p>
-<p class='pln'>143</p>
-<p class='pln'>144</p>
-<p class='pln'>145</p>
-<p class='pln'>146</p>
-<p class='pln'>147</p>
-<p class='pln'>148</p>
-<p class='pln'>149</p>
-<p class='stm run hide_run'>150</p>
-<p class='pln'>151</p>
-<p class='pln'>152</p>
-<p class='pln'>153</p>
-<p class='stm run hide_run'>154</p>
-<p class='pln'>155</p>
-<p class='pln'>156</p>
-<p class='pln'>157</p>
-<p class='pln'>158</p>
-<p class='pln'>159</p>
-<p class='stm run hide_run'>160</p>
-<p class='pln'>161</p>
-<p class='stm mis'>162</p>
-<p class='stm mis'>163</p>
-<p class='pln'>164</p>
-<p class='stm run hide_run'>165</p>
-<p class='pln'>166</p>
-<p class='pln'>167</p>
-<p class='pln'>168</p>
-<p class='pln'>169</p>
-<p class='pln'>170</p>
-<p class='pln'>171</p>
-<p class='stm mis'>172</p>
-<p class='stm mis'>173</p>
-<p class='pln'>174</p>
-<p class='stm run hide_run'>175</p>
-<p class='pln'>176</p>
-<p class='pln'>177</p>
-<p class='pln'>178</p>
-<p class='pln'>179</p>
-<p class='pln'>180</p>
-<p class='pln'>181</p>
-<p class='pln'>182</p>
-<p class='pln'>183</p>
-<p class='pln'>184</p>
-<p class='pln'>185</p>
-<p class='pln'>186</p>
-<p class='pln'>187</p>
-<p class='pln'>188</p>
-<p class='stm mis'>189</p>
-<p class='stm mis'>190</p>
-<p class='pln'>191</p>
-<p class='stm run hide_run'>192</p>
-<p class='pln'>193</p>
-<p class='pln'>194</p>
-<p class='pln'>195</p>
-<p class='pln'>196</p>
-<p class='pln'>197</p>
-<p class='stm mis'>198</p>
-<p class='pln'>199</p>
-<p class='stm par run hide_run'>200</p>
-<p class='stm run hide_run'>201</p>
-<p class='stm mis'>202</p>
-<p class='stm mis'>203</p>
-<p class='pln'>204</p>
-<p class='stm run hide_run'>205</p>
-<p class='stm mis'>206</p>
-<p class='stm mis'>207</p>
-<p class='pln'>208</p>
-<p class='stm run hide_run'>209</p>
-<p class='pln'>210</p>
-<p class='pln'>211</p>
-<p class='pln'>212</p>
-<p class='pln'>213</p>
-<p class='stm run hide_run'>214</p>
-<p class='pln'>215</p>
-<p class='pln'>216</p>
-<p class='pln'>217</p>
-<p class='pln'>218</p>
-<p class='stm mis'>219</p>
-<p class='pln'>220</p>
-<p class='stm run hide_run'>221</p>
-<p class='pln'>222</p>
-<p class='pln'>223</p>
-<p class='pln'>224</p>
-<p class='pln'>225</p>
-<p class='pln'>226</p>
-<p class='pln'>227</p>
-<p class='pln'>228</p>
-<p class='pln'>229</p>
-<p class='pln'>230</p>
-<p class='stm mis'>231</p>
-<p class='stm mis'>232</p>
-<p class='stm mis'>233</p>
-<p class='stm mis'>234</p>
-<p class='stm mis'>235</p>
-<p class='stm mis'>236</p>
-<p class='stm mis'>237</p>
-<p class='stm mis'>238</p>
-<p class='stm mis'>239</p>
-<p class='stm mis'>240</p>
-<p class='stm mis'>241</p>
-<p class='pln'>242</p>
-<p class='stm run hide_run'>243</p>
-<p class='pln'>244</p>
-<p class='pln'>245</p>
-<p class='pln'>246</p>
-<p class='stm mis'>247</p>
-<p class='stm mis'>248</p>
-<p class='pln'>249</p>
-<p class='stm run hide_run'>250</p>
-<p class='pln'>251</p>
-<p class='pln'>252</p>
-<p class='pln'>253</p>
-<p class='pln'>254</p>
-<p class='pln'>255</p>
-<p class='pln'>256</p>
-<p class='stm mis'>257</p>
-<p class='stm mis'>258</p>
-<p class='pln'>259</p>
-<p class='stm mis'>260</p>
-<p class='pln'>261</p>
-<p class='stm mis'>262</p>
-<p class='pln'>263</p>
-<p class='stm mis'>264</p>
-<p class='pln'>265</p>
-<p class='stm mis'>266</p>
-<p class='pln'>267</p>
-<p class='pln'>268</p>
-<p class='stm mis'>269</p>
-<p class='stm mis'>270</p>
-<p class='stm mis'>271</p>
-<p class='stm mis'>272</p>
-<p class='stm mis'>273</p>
-<p class='pln'>274</p>
-<p class='pln'>275</p>
-<p class='pln'>276</p>
-<p class='pln'>277</p>
-<p class='stm mis'>278</p>
-<p class='pln'>279</p>
-<p class='stm mis'>280</p>
-<p class='stm mis'>281</p>
-<p class='pln'>282</p>
-<p class='stm mis'>283</p>
-<p class='pln'>284</p>
-<p class='stm mis'>285</p>
-<p class='pln'>286</p>
-<p class='pln'>287</p>
-<p class='pln'>288</p>
-<p class='pln'>289</p>
-<p class='stm run hide_run'>290</p>
-<p class='pln'>291</p>
-<p class='pln'>292</p>
-<p class='pln'>293</p>
-<p class='pln'>294</p>
-<p class='pln'>295</p>
-<p class='pln'>296</p>
-<p class='pln'>297</p>
-<p class='pln'>298</p>
-<p class='pln'>299</p>
-<p class='pln'>300</p>
-<p class='stm mis'>301</p>
-<p class='stm mis'>302</p>
-<p class='stm mis'>303</p>
-<p class='stm mis'>304</p>
-<p class='pln'>305</p>
-<p class='stm run hide_run'>306</p>
-<p class='pln'>307</p>
-<p class='pln'>308</p>
-<p class='pln'>309</p>
-<p class='pln'>310</p>
-<p class='pln'>311</p>
-<p class='pln'>312</p>
-<p class='pln'>313</p>
-<p class='pln'>314</p>
-<p class='pln'>315</p>
-<p class='pln'>316</p>
-<p class='stm mis'>317</p>
-<p class='pln'>318</p>
-<p class='stm run hide_run'>319</p>
-<p class='pln'>320</p>
-<p class='pln'>321</p>
-<p class='pln'>322</p>
-<p class='pln'>323</p>
-<p class='pln'>324</p>
-<p class='pln'>325</p>
-<p class='pln'>326</p>
-<p class='pln'>327</p>
-<p class='pln'>328</p>
-<p class='pln'>329</p>
-<p class='stm mis'>330</p>
-<p class='pln'>331</p>
-<p class='stm run hide_run'>332</p>
-<p class='pln'>333</p>
-<p class='pln'>334</p>
-<p class='pln'>335</p>
-<p class='pln'>336</p>
-<p class='pln'>337</p>
-<p class='pln'>338</p>
-<p class='pln'>339</p>
-<p class='pln'>340</p>
-<p class='pln'>341</p>
-<p class='stm mis'>342</p>
-<p class='stm mis'>343</p>
-<p class='stm mis'>344</p>
-<p class='stm mis'>345</p>
-<p class='stm mis'>346</p>
-<p class='stm mis'>347</p>
-<p class='pln'>348</p>
-<p class='stm run hide_run'>349</p>
-<p class='pln'>350</p>
-<p class='pln'>351</p>
-<p class='pln'>352</p>
-<p class='pln'>353</p>
-<p class='pln'>354</p>
-<p class='pln'>355</p>
-<p class='pln'>356</p>
-<p class='stm mis'>357</p>
-<p class='stm mis'>358</p>
-<p class='stm mis'>359</p>
-<p class='stm mis'>360</p>
-<p class='stm mis'>361</p>
-<p class='pln'>362</p>
-<p class='stm run hide_run'>363</p>
-<p class='pln'>364</p>
-<p class='pln'>365</p>
-<p class='pln'>366</p>
-<p class='pln'>367</p>
-<p class='pln'>368</p>
-<p class='pln'>369</p>
-<p class='pln'>370</p>
-<p class='stm mis'>371</p>
-<p class='stm mis'>372</p>
-<p class='stm mis'>373</p>
-<p class='stm mis'>374</p>
-<p class='stm mis'>375</p>
-<p class='stm mis'>376</p>
-<p class='stm mis'>377</p>
-<p class='pln'>378</p>
-<p class='stm run hide_run'>379</p>
-<p class='pln'>380</p>
-<p class='pln'>381</p>
-<p class='pln'>382</p>
-<p class='pln'>383</p>
-<p class='pln'>384</p>
-<p class='stm mis'>385</p>
-<p class='pln'>386</p>
-<p class='stm run hide_run'>387</p>
-<p class='pln'>388</p>
-<p class='pln'>389</p>
-<p class='pln'>390</p>
-<p class='pln'>391</p>
-<p class='pln'>392</p>
-<p class='pln'>393</p>
-<p class='pln'>394</p>
-<p class='stm mis'>395</p>
-<p class='pln'>396</p>
-<p class='pln'>397</p>
-<p class='pln'>398</p>
-<p class='pln'>399</p>
-<p class='stm run hide_run'>400</p>
-<p class='pln'>401</p>
-<p class='stm mis'>402</p>
-<p class='pln'>403</p>
-<p class='stm run hide_run'>404</p>
-<p class='pln'>405</p>
-<p class='stm mis'>406</p>
-<p class='stm mis'>407</p>
-<p class='stm mis'>408</p>
-<p class='pln'>409</p>
-<p class='stm mis'>410</p>
-<p class='pln'>411</p>
-<p class='stm run hide_run'>412</p>
-<p class='pln'>413</p>
-<p class='pln'>414</p>
-<p class='pln'>415</p>
-<p class='pln'>416</p>
-<p class='pln'>417</p>
-<p class='stm mis'>418</p>
-<p class='stm mis'>419</p>
-<p class='pln'>420</p>
-<p class='stm mis'>421</p>
-<p class='stm mis'>422</p>
-<p class='stm mis'>423</p>
-<p class='stm mis'>424</p>
-<p class='pln'>425</p>
-<p class='stm mis'>426</p>
-<p class='pln'>427</p>
-<p class='stm run hide_run'>428</p>
-<p class='pln'>429</p>
-<p class='pln'>430</p>
-<p class='pln'>431</p>
-<p class='pln'>432</p>
-<p class='pln'>433</p>
-<p class='pln'>434</p>
-<p class='pln'>435</p>
-<p class='pln'>436</p>
-<p class='pln'>437</p>
-<p class='pln'>438</p>
-<p class='pln'>439</p>
-<p class='pln'>440</p>
-<p class='pln'>441</p>
-<p class='pln'>442</p>
-<p class='stm mis'>443</p>
-<p class='pln'>444</p>
-<p class='stm mis'>445</p>
-<p class='stm mis'>446</p>
-<p class='stm mis'>447</p>
-<p class='pln'>448</p>
-<p class='stm mis'>449</p>
-<p class='pln'>450</p>
-<p class='pln'>451</p>
-<p class='stm mis'>452</p>
-<p class='pln'>453</p>
-<p class='pln'>454</p>
-<p class='stm mis'>455</p>
-<p class='stm mis'>456</p>
-<p class='pln'>457</p>
-<p class='stm mis'>458</p>
-<p class='stm mis'>459</p>
-<p class='pln'>460</p>
-<p class='stm run hide_run'>461</p>
-<p class='pln'>462</p>
-<p class='pln'>463</p>
-<p class='pln'>464</p>
-<p class='pln'>465</p>
-<p class='pln'>466</p>
-<p class='pln'>467</p>
-<p class='pln'>468</p>
-<p class='pln'>469</p>
-<p class='pln'>470</p>
-<p class='pln'>471</p>
-<p class='pln'>472</p>
-<p class='pln'>473</p>
-<p class='pln'>474</p>
-<p class='pln'>475</p>
-<p class='pln'>476</p>
-<p class='pln'>477</p>
-<p class='pln'>478</p>
-<p class='pln'>479</p>
-<p class='pln'>480</p>
-<p class='pln'>481</p>
-<p class='pln'>482</p>
-<p class='pln'>483</p>
-<p class='pln'>484</p>
-<p class='pln'>485</p>
-<p class='pln'>486</p>
-<p class='pln'>487</p>
-<p class='pln'>488</p>
-<p class='pln'>489</p>
-<p class='pln'>490</p>
-<p class='pln'>491</p>
-<p class='pln'>492</p>
-<p class='pln'>493</p>
-<p class='pln'>494</p>
-<p class='stm mis'>495</p>
-<p class='stm mis'>496</p>
-<p class='stm mis'>497</p>
-<p class='stm mis'>498</p>
-<p class='stm mis'>499</p>
-<p class='stm mis'>500</p>
-<p class='pln'>501</p>
-<p class='stm mis'>502</p>
-<p class='stm mis'>503</p>
-<p class='pln'>504</p>
-<p class='stm mis'>505</p>
-<p class='stm mis'>506</p>
-<p class='stm mis'>507</p>
-<p class='stm mis'>508</p>
-<p class='pln'>509</p>
-<p class='stm mis'>510</p>
-<p class='pln'>511</p>
-<p class='stm run hide_run'>512</p>
-<p class='pln'>513</p>
-<p class='pln'>514</p>
-<p class='pln'>515</p>
-<p class='pln'>516</p>
-<p class='pln'>517</p>
-<p class='pln'>518</p>
-<p class='pln'>519</p>
-<p class='pln'>520</p>
-<p class='pln'>521</p>
-<p class='pln'>522</p>
-<p class='pln'>523</p>
-<p class='pln'>524</p>
-<p class='pln'>525</p>
-<p class='pln'>526</p>
-<p class='pln'>527</p>
-<p class='pln'>528</p>
-<p class='stm mis'>529</p>
-<p class='stm mis'>530</p>
-<p class='stm mis'>531</p>
-<p class='stm mis'>532</p>
-<p class='pln'>533</p>
-<p class='stm mis'>534</p>
-<p class='pln'>535</p>
-<p class='stm mis'>536</p>
-<p class='pln'>537</p>
-<p class='stm run hide_run'>538</p>
-<p class='pln'>539</p>
-<p class='pln'>540</p>
-<p class='pln'>541</p>
-<p class='pln'>542</p>
-<p class='pln'>543</p>
-<p class='pln'>544</p>
-<p class='pln'>545</p>
-<p class='pln'>546</p>
-<p class='pln'>547</p>
-<p class='pln'>548</p>
-<p class='pln'>549</p>
-<p class='stm mis'>550</p>
-<p class='stm mis'>551</p>
-<p class='stm mis'>552</p>
-<p class='stm mis'>553</p>
-<p class='stm mis'>554</p>
-<p class='stm mis'>555</p>
-<p class='stm mis'>556</p>
-<p class='stm mis'>557</p>
-<p class='stm mis'>558</p>
-<p class='stm mis'>559</p>
-<p class='pln'>560</p>
-<p class='stm mis'>561</p>
-<p class='pln'>562</p>
-<p class='pln'>563</p>
-<p class='pln'>564</p>
-<p class='pln'>565</p>
-<p class='stm run hide_run'>566</p>
-<p class='stm run hide_run'>567</p>
-<p class='stm run hide_run'>568</p>
-<p class='stm run hide_run'>569</p>
-<p class='stm run hide_run'>570</p>
-<p class='stm run hide_run'>571</p>
-<p class='pln'>572</p>
-<p class='stm par run hide_run'>573</p>
-<p class='stm mis'>574</p>
-<p class='pln'>575</p>
-<p class='stm run hide_run'>576</p>
-<p class='stm run hide_run'>577</p>
-<p class='pln'>578</p>
-<p class='pln'>579</p>
-<p class='pln'>580</p>
-<p class='stm run hide_run'>581</p>
-<p class='stm run hide_run'>582</p>
-<p class='pln'>583</p>
-<p class='pln'>584</p>
-<p class='pln'>585</p>
-<p class='stm par run hide_run'>586</p>
-<p class='stm run hide_run'>587</p>
-<p class='stm run hide_run'>588</p>
-<p class='pln'>589</p>
-<p class='pln'>590</p>
-<p class='pln'>591</p>
-<p class='stm run hide_run'>592</p>
-<p class='stm run hide_run'>593</p>
-<p class='pln'>594</p>
-<p class='pln'>595</p>
-<p class='pln'>596</p>
-<p class='stm par run hide_run'>597</p>
-<p class='stm run hide_run'>598</p>
-<p class='pln'>599</p>
-<p class='pln'>600</p>
-<p class='pln'>601</p>
-<p class='pln'>602</p>
-<p class='stm mis'>603</p>
-<p class='pln'>604</p>
-<p class='stm run hide_run'>605</p>
-<p class='pln'>606</p>
-<p class='stm mis'>607</p>
-<p class='pln'>608</p>
-<p class='stm run hide_run'>609</p>
-<p class='pln'>610</p>
-<p class='stm mis'>611</p>
-<p class='pln'>612</p>
-<p class='stm par run hide_run'>613</p>
-<p class='stm mis'>614</p>
-<p class='pln'>615</p>
-<p class='stm mis'>616</p>
-<p class='pln'>617</p>
-<p class='stm par run hide_run'>618</p>
-<p class='stm mis'>619</p>
-<p class='stm mis'>620</p>
-<p class='pln'>621</p>
-<p class='pln'>622</p>
-<p class='pln'>623</p>
-<p class='pln'>624</p>
-<p class='stm run hide_run'>625</p>
-<p class='pln'>626</p>
-<p class='stm mis'>627</p>
-<p class='pln'>628</p>
-<p class='stm run hide_run'>629</p>
-<p class='stm mis'>630</p>
-<p class='pln'>631</p>
-<p class='stm par run hide_run'>632</p>
-<p class='stm mis'>633</p>
-<p class='stm mis'>634</p>
-<p class='pln'>635</p>
-<p class='stm run hide_run'>636</p>
-<p class='stm mis'>637</p>
-<p class='pln'>638</p>
-<p class='stm run hide_run'>639</p>
-<p class='stm mis'>640</p>
-<p class='pln'>641</p>
-<p class='pln'>642</p>
-<p class='pln'>643</p>
-<p class='pln'>644</p>
-<p class='stm run hide_run'>645</p>
-<p class='stm mis'>646</p>
-<p class='pln'>647</p>
-<p class='stm run hide_run'>648</p>
-<p class='stm mis'>649</p>
-<p class='pln'>650</p>
-<p class='stm run hide_run'>651</p>
-<p class='stm mis'>652</p>
-<p class='pln'>653</p>
-<p class='stm run hide_run'>654</p>
-<p class='stm mis'>655</p>
-<p class='pln'>656</p>
-<p class='pln'>657</p>
-<p class='pln'>658</p>
-<p class='pln'>659</p>
-<p class='stm run hide_run'>660</p>
-<p class='pln'>661</p>
-<p class='pln'>662</p>
-<p class='pln'>663</p>
-<p class='stm mis'>664</p>
-<p class='stm mis'>665</p>
-<p class='stm mis'>666</p>
-<p class='pln'>667</p>
-<p class='stm run hide_run'>668</p>
-<p class='stm mis'>669</p>
-<p class='pln'>670</p>
-<p class='stm run hide_run'>671</p>
-<p class='stm mis'>672</p>
-<p class='pln'>673</p>
-<p class='pln'>674</p>
-<p class='pln'>675</p>
-<p class='pln'>676</p>
-<p class='stm par run hide_run'>677</p>
-<p class='stm mis'>678</p>
-<p class='pln'>679</p>
-<p class='stm mis'>680</p>
-<p class='pln'>681</p>
-<p class='stm par run hide_run'>682</p>
-<p class='stm mis'>683</p>
-<p class='pln'>684</p>
-<p class='stm mis'>685</p>
-<p class='pln'>686</p>
-<p class='stm par run hide_run'>687</p>
-<p class='stm mis'>688</p>
-<p class='pln'>689</p>
-<p class='pln'>690</p>
-<p class='pln'>691</p>
-<p class='pln'>692</p>
-<p class='stm mis'>693</p>
-<p class='pln'>694</p>
-<p class='stm mis'>695</p>
-<p class='pln'>696</p>
-<p class='pln'>697</p>
-<p class='pln'>698</p>
-<p class='pln'>699</p>
-<p class='stm mis'>700</p>
-<p class='stm mis'>701</p>
-<p class='stm mis'>702</p>
-<p class='pln'>703</p>
-<p class='stm mis'>704</p>
-<p class='pln'>705</p>
-<p class='pln'>706</p>
-<p class='pln'>707</p>
-<p class='pln'>708</p>
-<p class='stm run hide_run'>709</p>
-<p class='stm run hide_run'>710</p>
-<p class='stm run hide_run'>711</p>
-<p class='stm run hide_run'>712</p>
-<p class='stm run hide_run'>713</p>
-<p class='stm run hide_run'>714</p>
-<p class='stm par run hide_run'>715</p>
-<p class='stm run hide_run'>716</p>
-<p class='stm run hide_run'>717</p>
-<p class='pln'>718</p>
-<p class='pln'>719</p>
-<p class='pln'>720</p>
-<p class='pln'>721</p>
-<p class='stm par run hide_run'>722</p>
-<p class='stm mis'>723</p>
-<p class='stm mis'>724</p>
-<p class='pln'>725</p>
-<p class='stm par run hide_run'>726</p>
-<p class='stm run hide_run'>727</p>
-<p class='stm mis'>728</p>
-<p class='pln'>729</p>
-
-</td>
-<td class='text' valign='top'>
-<p class='pln'><span class='str'>&quot;&quot;&quot; path.py - An object representing a path to a file or directory.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>Example:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>from path import path</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>d = path(&#39;/home/guido/bin&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>for f in d.files(&#39;*.py&#39;):</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; f.chmod(0755)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>This module requires Python 2.2 or later.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>URL:&nbsp; &nbsp;&nbsp; http://www.jorendorff.com/articles/python/path</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>Author:&nbsp; Jason Orendorff &lt;jason@jorendorff.com&gt; (and others - see the url!)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>Date:&nbsp; &nbsp; 29 Feb 2004</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'># TODO</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'>#&nbsp;&nbsp; - Bug in write_text().&nbsp; It doesn&#39;t support Universal newline mode.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'>#&nbsp;&nbsp; - Better error message in listdir() when self isn&#39;t a</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'>#&nbsp; &nbsp;&nbsp; directory. (On Windows, the error message really sucks.)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'>#&nbsp;&nbsp; - Make sure everything has a good docstring.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'>#&nbsp;&nbsp; - Add methods for regex find and replace.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'>#&nbsp;&nbsp; - guess_content_type() method?</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'>#&nbsp;&nbsp; - Perhaps support arguments to touch().</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'>#&nbsp;&nbsp; - Could add split() and join() methods that generate warnings.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'>#&nbsp;&nbsp; - Note:&nbsp; __add__() technically has a bug, I think, where</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'>#&nbsp; &nbsp;&nbsp; it doesn&#39;t play nice with other types that implement</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'>#&nbsp; &nbsp;&nbsp; __radd__().&nbsp; Test this.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>generators</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'><span class='key'>import</span> <span class='nam'>sys</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>,</span> <span class='nam'>fnmatch</span><span class='op'>,</span> <span class='nam'>glob</span><span class='op'>,</span> <span class='nam'>shutil</span><span class='op'>,</span> <span class='nam'>codecs</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'><span class='nam'>__version__</span> <span class='op'>=</span> <span class='str'>&#39;2.0.2&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'><span class='nam'>__all__</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;path&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'># Pre-2.3 support.&nbsp; Are unicode filenames supported?</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'><span class='nam'>_base</span> <span class='op'>=</span> <span class='nam'>str</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'><span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>48</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>supports_unicode_filenames</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_base</span> <span class='op'>=</span> <span class='nam'>unicode</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'><span class='key'>except</span> <span class='nam'>AttributeError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'># Pre-2.3 workaround for basestring.</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'><span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>basestring</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'><span class='key'>except</span> <span class='nam'>NameError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; <span class='nam'>basestring</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>str</span><span class='op'>,</span> <span class='nam'>unicode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='com'># Universal newline support</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'><span class='nam'>_textmode</span> <span class='op'>=</span> <span class='str'>&#39;r&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>59</span><span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>file</span><span class='op'>,</span> <span class='str'>&#39;newlines&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_textmode</span> <span class='op'>=</span> <span class='str'>&#39;U&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'><span class='key'>class</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>_base</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Represents a filesystem path.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; For documentation on individual methods, consult their</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; counterparts in os.path.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># --- Special Python methods.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__repr__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;path(%s)&#39;</span> <span class='op'>%</span> <span class='nam'>_base</span><span class='op'>.</span><span class='nam'>__repr__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># Adding a path and a string yields a path.</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__add__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>more</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>_base</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span> <span class='op'>+</span> <span class='nam'>more</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__radd__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>other</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>other</span> <span class='op'>+</span> <span class='nam'>_base</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># The / operator joins paths.</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__div__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>rel</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; fp.__div__(rel) == fp / rel == fp.joinpath(rel)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Join two path components, adding a separator character if</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; needed.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>rel</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># Make the / operator work even when true division is enabled.</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>__truediv__</span> <span class='op'>=</span> <span class='nam'>__div__</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>getcwd</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return the current working directory as a path object. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>getcwd</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>getcwd</span> <span class='op'>=</span> <span class='nam'>staticmethod</span><span class='op'>(</span><span class='nam'>getcwd</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># --- Operations on path strings.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>abspath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp;&nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>abspath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>normcase</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>normcase</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>normpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>normpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>realpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>realpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>expanduser</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>expanduser</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>expandvars</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>expandvars</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>dirname</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp;&nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>dirname</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>basename</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>basename</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>expand</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Clean up a filename by calling expandvars(),</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; expanduser(), and normpath() on it.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This is commonly everything needed to clean up a filename</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; read from a configuration file, for example.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>expandvars</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>expanduser</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>normpath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_namebase</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>base</span><span class='op'>,</span> <span class='nam'>ext</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitext</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>base</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_ext</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>,</span> <span class='nam'>ext</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitext</span><span class='op'>(</span><span class='nam'>_base</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ext</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_drive</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>drive</span><span class='op'>,</span> <span class='nam'>r</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitdrive</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>drive</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>parent</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>dirname</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; This path&#39;s parent directory, as a new path object.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example, path(&#39;/usr/local/lib/libpython.so&#39;).parent == path(&#39;/usr/local/lib&#39;)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>name</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>basename</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The name of this file or directory without the full path.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example, path(&#39;/usr/local/lib/libpython.so&#39;).name == &#39;libpython.so&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>namebase</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_get_namebase</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The same as path.name, but with one file extension stripped off.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example, path(&#39;/home/guido/python.tar.gz&#39;).name&nbsp; &nbsp;&nbsp; == &#39;python.tar.gz&#39;,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; but&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; path(&#39;/home/guido/python.tar.gz&#39;).namebase == &#39;python.tar&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ext</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_get_ext</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The file extension, for example &#39;.py&#39;. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>drive</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_get_drive</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The drive specifier, for example &#39;C:&#39;.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This is always empty on systems that don&#39;t use drive specifiers.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>splitpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; p.splitpath() -&gt; Return (p.parent, p.name). &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parent</span><span class='op'>,</span> <span class='nam'>child</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>parent</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>child</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>splitdrive</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; p.splitdrive() -&gt; Return (p.drive, &lt;the rest of p&gt;).</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Split the drive specifier from this path.&nbsp; If there is</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; no drive specifier, p.drive is empty, so the return value</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; is simply (path(&#39;&#39;), p).&nbsp; This is always the case on Unix.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>drive</span><span class='op'>,</span> <span class='nam'>rel</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitdrive</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>drive</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>rel</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>splitext</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; p.splitext() -&gt; Return (p.stripext(), p.ext).</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Split the filename extension from this path and return</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; the two parts.&nbsp; Either part may be empty.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The extension is everything from &#39;.&#39; to the end of the</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; last path segment.&nbsp; This has the property that if</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; (a, b) == p.splitext(), then a + b == p.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Cast to plain string using _base because Python 2.2</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># implementations of os.path.splitext use &quot;for c in path:...&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># which means something different when applied to a path</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># object.</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filename</span><span class='op'>,</span> <span class='nam'>ext</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitext</span><span class='op'>(</span><span class='nam'>_base</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>filename</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>ext</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>stripext</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; p.stripext() -&gt; Remove one file extension from the path.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example, path(&#39;/home/guido/python.tar.gz&#39;).stripext()</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; returns path(&#39;/home/guido/python.tar&#39;).</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>splitext</span><span class='op'>(</span><span class='op'>)</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>214</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>,</span> <span class='str'>&#39;splitunc&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>splitunc</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>unc</span><span class='op'>,</span> <span class='nam'>rest</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitunc</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>unc</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>rest</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_uncshare</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>unc</span><span class='op'>,</span> <span class='nam'>r</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitunc</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>unc</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>uncshare</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_get_uncshare</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The UNC mount point for this path.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is empty for paths on local drives. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>joinpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Join two or more path components, adding a separator</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; character (os.sep) if needed.&nbsp; Returns a new path</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; object.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>splitall</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return a list of the path components in this path.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The first item in the list will be a path.&nbsp; Its value will be</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; either os.curdir, os.pardir, empty, or the root directory of</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; this path (for example, &#39;/&#39; or &#39;C:\\&#39;).&nbsp; The other items in</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; the list will be strings.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; path.path.joinpath(*result) will yield the original path.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parts</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>loc</span> <span class='op'>=</span> <span class='nam'>self</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>while</span> <span class='nam'>loc</span> <span class='op'>!=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>curdir</span> <span class='key'>and</span> <span class='nam'>loc</span> <span class='op'>!=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>pardir</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>prev</span> <span class='op'>=</span> <span class='nam'>loc</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>loc</span><span class='op'>,</span> <span class='nam'>child</span> <span class='op'>=</span> <span class='nam'>prev</span><span class='op'>.</span><span class='nam'>splitpath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>loc</span> <span class='op'>==</span> <span class='nam'>prev</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parts</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>child</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parts</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>loc</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parts</span><span class='op'>.</span><span class='nam'>reverse</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>parts</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>relpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return this path as a relative path,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; based from the current working directory.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cwd</span> <span class='op'>=</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>getcwd</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>cwd</span><span class='op'>.</span><span class='nam'>relpathto</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>relpathto</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>dest</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return a relative path from self to dest.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If there is no relative path from self to dest, for example if</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; they reside on different drives in Windows, then this returns</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; dest.abspath().</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>origin</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>abspath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>dest</span> <span class='op'>=</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>dest</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>abspath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>orig_list</span> <span class='op'>=</span> <span class='nam'>origin</span><span class='op'>.</span><span class='nam'>normcase</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>splitall</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Don&#39;t normcase dest!&nbsp; We want to preserve the case.</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>dest_list</span> <span class='op'>=</span> <span class='nam'>dest</span><span class='op'>.</span><span class='nam'>splitall</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>orig_list</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span> <span class='op'>!=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>normcase</span><span class='op'>(</span><span class='nam'>dest_list</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Can&#39;t get here from there.</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>dest</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Find the location where the two paths start to differ.</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>i</span> <span class='op'>=</span> <span class='num'>0</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>start_seg</span><span class='op'>,</span> <span class='nam'>dest_seg</span> <span class='key'>in</span> <span class='nam'>zip</span><span class='op'>(</span><span class='nam'>orig_list</span><span class='op'>,</span> <span class='nam'>dest_list</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>start_seg</span> <span class='op'>!=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>normcase</span><span class='op'>(</span><span class='nam'>dest_seg</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>i</span> <span class='op'>+=</span> <span class='num'>1</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Now i is the point where the two paths diverge.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Need a certain number of &quot;os.pardir&quot;s to work up</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># from the origin to the point of divergence.</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>segments</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>pardir</span><span class='op'>]</span> <span class='op'>*</span> <span class='op'>(</span><span class='nam'>len</span><span class='op'>(</span><span class='nam'>orig_list</span><span class='op'>)</span> <span class='op'>-</span> <span class='nam'>i</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Need to add the diverging part of dest_list.</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>segments</span> <span class='op'>+=</span> <span class='nam'>dest_list</span><span class='op'>[</span><span class='nam'>i</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>segments</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>0</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If they happen to be identical, use os.curdir.</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>curdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>segments</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># --- Listing, searching, walking, and matching</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>listdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.listdir() -&gt; List of items in this directory.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Use D.files() or D.dirs() instead if you want a listing</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; of just files or just subdirectories.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The elements of the list are path objects.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; With the optional &#39;pattern&#39; argument, this only lists</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; items whose names match the given pattern.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>names</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>listdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>pattern</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>names</span> <span class='op'>=</span> <span class='nam'>fnmatch</span><span class='op'>.</span><span class='nam'>filter</span><span class='op'>(</span><span class='nam'>names</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>self</span> <span class='op'>/</span> <span class='nam'>child</span> <span class='key'>for</span> <span class='nam'>child</span> <span class='key'>in</span> <span class='nam'>names</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>dirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.dirs() -&gt; List of this directory&#39;s subdirectories.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The elements of the list are path objects.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This does not walk recursively into subdirectories</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; (but see path.walkdirs).</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; With the optional &#39;pattern&#39; argument, this only lists</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; directories whose names match the given pattern.&nbsp; For</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; example, d.dirs(&#39;build-*&#39;).</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>p</span> <span class='key'>for</span> <span class='nam'>p</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>listdir</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span> <span class='key'>if</span> <span class='nam'>p</span><span class='op'>.</span><span class='nam'>isdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>files</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.files() -&gt; List of the files in this directory.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The elements of the list are path objects.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This does not walk into subdirectories (see path.walkfiles).</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; With the optional &#39;pattern&#39; argument, this only lists files</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; whose names match the given pattern.&nbsp; For example,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; d.files(&#39;*.pyc&#39;).</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>p</span> <span class='key'>for</span> <span class='nam'>p</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>listdir</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span> <span class='key'>if</span> <span class='nam'>p</span><span class='op'>.</span><span class='nam'>isfile</span><span class='op'>(</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>walk</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.walk() -&gt; iterator over files and subdirs, recursively.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The iterator yields path objects naming each child item of</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; this directory and its descendants.&nbsp; This requires that</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; D.isdir().</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This performs a depth-first traversal of the directory tree.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Each directory is returned just before all its children.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>child</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>listdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>pattern</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>fnmatch</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>child</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>isdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>walk</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>item</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>walkdirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.walkdirs() -&gt; iterator over subdirs, recursively.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; With the optional &#39;pattern&#39; argument, this yields only</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; directories whose names match the given pattern.&nbsp; For</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; example, mydir.walkdirs(&#39;*test&#39;) yields only directories</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; with names ending in &#39;test&#39;.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>child</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>dirs</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>pattern</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>fnmatch</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>child</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>subsubdir</span> <span class='key'>in</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>walkdirs</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>subsubdir</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>walkfiles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.walkfiles() -&gt; iterator over files in D, recursively.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The optional argument, pattern, limits the results to files</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; with names that match the pattern.&nbsp; For example,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; mydir.walkfiles(&#39;*.tmp&#39;) yields only files with the .tmp</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; extension.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>child</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>listdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>isfile</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>pattern</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>fnmatch</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>child</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>isdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>f</span> <span class='key'>in</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>walkfiles</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>f</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>fnmatch</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return True if self.name matches the given pattern.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; pattern - A filename pattern with wildcards,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for example &#39;*.py&#39;.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>fnmatch</span><span class='op'>.</span><span class='nam'>fnmatch</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>name</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>glob</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return a list of path objects that match the pattern.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; pattern - a path relative to this directory, with wildcards.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example, path(&#39;/users&#39;).glob(&#39;*/bin/*&#39;) returns a list</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; of all the files users have in their bin directories.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>map</span><span class='op'>(</span><span class='nam'>path</span><span class='op'>,</span> <span class='nam'>glob</span><span class='op'>.</span><span class='nam'>glob</span><span class='op'>(</span><span class='nam'>_base</span><span class='op'>(</span><span class='nam'>self</span> <span class='op'>/</span> <span class='nam'>pattern</span><span class='op'>)</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># --- Reading or writing an entire file at once.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>open</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>=</span><span class='str'>&#39;r&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open this file.&nbsp; Return a file object. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>file</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>bytes</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open this file, read all bytes, return them as a string. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='str'>&#39;rb&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>f</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>write_bytes</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>bytes</span><span class='op'>,</span> <span class='nam'>append</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open this file and write the given bytes to it.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Default behavior is to overwrite any existing file.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Call this with write_bytes(bytes, append=True) to append instead.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>append</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>=</span> <span class='str'>&#39;ab&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>=</span> <span class='str'>&#39;wb&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>bytes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>text</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>=</span><span class='str'>&#39;strict&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open this file, read it in, return the content as a string.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This uses &#39;U&#39; mode in Python 2.3 and later, so &#39;\r\n&#39; and &#39;\r&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; are automatically translated to &#39;\n&#39;.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Optional arguments:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; encoding - The Unicode encoding (or character set) of</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the file.&nbsp; If present, the content of the file is</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; decoded and returned as a unicode object; otherwise</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; it is returned as an 8-bit str.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; errors - How to handle Unicode errors; see help(str.decode)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for the options.&nbsp; Default is &#39;strict&#39;.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>encoding</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># 8-bit</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>_textmode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>f</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Unicode</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>codecs</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;r&#39;</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># (Note - Can&#39;t use &#39;U&#39; mode here, since codecs.open</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># doesn&#39;t support &#39;U&#39; mode, even in Python 2.3.)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>t</span> <span class='op'>=</span> <span class='nam'>f</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>t</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>u&#39;\r\n&#39;</span><span class='op'>,</span> <span class='str'>u&#39;\n&#39;</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>u&#39;\r&#39;</span><span class='op'>,</span> <span class='str'>u&#39;\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>write_text</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>text</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>=</span><span class='str'>&#39;strict&#39;</span><span class='op'>,</span> <span class='nam'>append</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Write the given text to this file.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The default behavior is to overwrite any existing file;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; to append instead, use the &#39;append=True&#39; keyword argument.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; There are two differences between path.write_text() and</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; path.write_bytes(): Unicode handling and newline handling.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; --- Unicode</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If &#39;text&#39; isn&#39;t Unicode, this essentially just does</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; open(self, &#39;w&#39;).write(text).&nbsp; The &#39;encoding&#39; and &#39;errors&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; arguments are ignored.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If &#39;text&#39; is Unicode, it is first converted to bytes using the</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; specified &#39;encoding&#39; (or the default encoding if &#39;encoding&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; isn&#39;t specified).&nbsp; The &#39;errors&#39; argument applies only to this</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; conversion.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; --- Newlines</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; write_text() converts from programmer-friendly newlines</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; (always &#39;\n&#39;) to platform-specific newlines (see os.linesep;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; on Windows, for example, the end-of-line marker is &#39;\r\n&#39;).</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This applies to Unicode text the same as to 8-bit text.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Because of this conversion, the text should only contain plain</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; newlines (&#39;\n&#39;), just like the return value of path.text().</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If the text contains the characters &#39;\r\n&#39;, it may be written</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; as &#39;\r\r\n&#39; or &#39;\r\r&#39; depending on your platform.&nbsp; (This is</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; exactly the same as when you open a file for writing with</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; fopen(filename, &quot;w&quot;) in C or file(filename, &#39;w&#39;) in Python.)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>text</span><span class='op'>,</span> <span class='nam'>unicode</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>text</span> <span class='op'>=</span> <span class='nam'>text</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>u&#39;\n&#39;</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>linesep</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>encoding</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>encoding</span> <span class='op'>=</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>getdefaultencoding</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>bytes</span> <span class='op'>=</span> <span class='nam'>text</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='nam'>encoding</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>write_bytes</span><span class='op'>(</span><span class='nam'>bytes</span><span class='op'>,</span> <span class='nam'>append</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>append</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>=</span> <span class='str'>&#39;a&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>=</span> <span class='str'>&#39;w&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>text</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>lines</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>=</span><span class='str'>&#39;strict&#39;</span><span class='op'>,</span> <span class='nam'>retain</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open this file, read all lines, return them in a list.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Optional arguments:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; encoding - The Unicode encoding (or character set) of</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the file.&nbsp; The default is None, meaning the content</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; of the file is read as 8-bit characters and returned</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; as a list of (non-Unicode) str objects.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; errors - How to handle Unicode errors; see help(str.decode)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for the options.&nbsp; Default is &#39;strict&#39;</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; retain - If true, retain newline characters; but all newline</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; character combinations (&#39;\r&#39;, &#39;\n&#39;, &#39;\r\n&#39;) are</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; translated to &#39;\n&#39;.&nbsp; If false, newline characters are</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stripped off.&nbsp; Default is True.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This uses &#39;U&#39; mode in Python 2.3 and later.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>encoding</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>retain</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>_textmode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>f</span><span class='op'>.</span><span class='nam'>readlines</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>text</span><span class='op'>(</span><span class='nam'>encoding</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>splitlines</span><span class='op'>(</span><span class='nam'>retain</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>write_lines</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>lines</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>=</span><span class='str'>&#39;strict&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>linesep</span><span class='op'>=</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>linesep</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Overwrite this file with the given lines of text.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; lines - A list of strings.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; encoding - A Unicode encoding to use.&nbsp; This applies only if</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;lines&#39; contains any Unicode strings.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; errors - How to handle errors in Unicode encoding.&nbsp; This</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; also applies only to Unicode strings.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; linesep - A character sequence that will be added at the</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; end of every line that doesn&#39;t already have it.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='str'>&#39;wb&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>line</span> <span class='key'>in</span> <span class='nam'>lines</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>line</span><span class='op'>.</span><span class='nam'>endswith</span><span class='op'>(</span><span class='nam'>linesep</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>line</span> <span class='op'>+=</span> <span class='nam'>linesep</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>line</span><span class='op'>,</span> <span class='nam'>unicode</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>encoding</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>encoding</span> <span class='op'>=</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>getdefaultencoding</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>line</span> <span class='op'>=</span> <span class='nam'>line</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='nam'>encoding</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>=</span><span class='nam'>errors</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>line</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># --- Methods for querying the filesystem.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>exists</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>exists</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>isabs</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>isabs</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>isdir</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>isdir</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>isfile</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>isfile</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>islink</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>islink</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ismount</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>ismount</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>574</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>,</span> <span class='str'>&#39;samefile&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>samefile</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>samefile</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>getatime</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>getatime</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>atime</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getatime</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Last access time of the file. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>getmtime</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>getmtime</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>mtime</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getmtime</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Last-modified time of the file. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>592</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>,</span> <span class='str'>&#39;getctime&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getctime</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>getctime</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ctime</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getctime</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Creation time of the file. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>getsize</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>getsize</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>size</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getsize</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Size of the file, in bytes. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>605</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;access&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>access</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return true if current user has access to this path.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mode - One of the constants os.F_OK, os.R_OK, os.W_OK, os.X_OK</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>access</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>stat</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Perform a stat() system call on this path. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>stat</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>lstat</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Like path.stat(), but do not follow symbolic links. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>lstat</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>614</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;statvfs&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>statvfs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Perform a statvfs() system call on this path. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>statvfs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>619</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;pathconf&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>pathconf</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>pathconf</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># --- Modifying operations on files and directories</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>utime</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>times</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Set the access and modified times of this file. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>utime</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>times</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>chmod</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>chmod</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>633</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;chown&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>chown</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>uid</span><span class='op'>,</span> <span class='nam'>gid</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>chown</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>uid</span><span class='op'>,</span> <span class='nam'>gid</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>rename</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>new</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>rename</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>new</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>renames</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>new</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>renames</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>new</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># --- Create/delete operations on directories</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>mkdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>=</span><span class='num'>0777</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>mkdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>makedirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>=</span><span class='num'>0777</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>makedirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>rmdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>rmdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>removedirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>removedirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># --- Modifying operations on files</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>touch</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Set the access/modified times of this file to the current time.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Create the file if it does not exist.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fd</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>O_WRONLY</span> <span class='op'>|</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>O_CREAT</span><span class='op'>,</span> <span class='num'>0666</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='nam'>fd</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>utime</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>remove</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>remove</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>unlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>unlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># --- Links</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>678</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;link&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>link</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>newpath</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Create a hard link at &#39;newpath&#39;, pointing to this file. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>link</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>newpath</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>683</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;symlink&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>symlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>newlink</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Create a symbolic link at &#39;newlink&#39;, pointing here. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>symlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>newlink</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>688</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;readlink&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>readlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return the path to which this symbolic link points.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; The result may be an absolute or a relative path.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>readlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>readlinkabs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return the path to which this symbolic link points.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; The result is always an absolute path.</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>p</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>readlink</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>p</span><span class='op'>.</span><span class='nam'>isabs</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>p</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>parent</span> <span class='op'>/</span> <span class='nam'>p</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>abspath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># --- High-level functions from shutil</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copyfile</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copyfile</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copymode</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copymode</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copystat</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copystat</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copy</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copy</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copy2</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copy2</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copytree</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copytree</span><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>717</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>shutil</span><span class='op'>,</span> <span class='str'>&#39;move&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>move</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>move</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>rmtree</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>rmtree</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='pln'>&nbsp; &nbsp; <span class='com'># --- Special stuff from os</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>723</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;chroot&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>chroot</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>chroot</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-<p class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;startfile&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>startfile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
-<p class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>startfile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
-<p class='pln'><span class='strut'>&nbsp;</span></p>
-
-</td>
-</tr>
-</table>
+ <table cellspacing='0' cellpadding='0'>
+ <tr>
+ <td class='linenos' valign='top'>
+<p id='n1' class='pln'>1</p>
+<p id='n2' class='pln'>2</p>
+<p id='n3' class='pln'>3</p>
+<p id='n4' class='pln'>4</p>
+<p id='n5' class='pln'>5</p>
+<p id='n6' class='pln'>6</p>
+<p id='n7' class='pln'>7</p>
+<p id='n8' class='pln'>8</p>
+<p id='n9' class='pln'>9</p>
+<p id='n10' class='pln'>10</p>
+<p id='n11' class='pln'>11</p>
+<p id='n12' class='pln'>12</p>
+<p id='n13' class='pln'>13</p>
+<p id='n14' class='pln'>14</p>
+<p id='n15' class='pln'>15</p>
+<p id='n16' class='pln'>16</p>
+<p id='n17' class='pln'>17</p>
+<p id='n18' class='pln'>18</p>
+<p id='n19' class='pln'>19</p>
+<p id='n20' class='pln'>20</p>
+<p id='n21' class='pln'>21</p>
+<p id='n22' class='pln'>22</p>
+<p id='n23' class='pln'>23</p>
+<p id='n24' class='pln'>24</p>
+<p id='n25' class='pln'>25</p>
+<p id='n26' class='pln'>26</p>
+<p id='n27' class='pln'>27</p>
+<p id='n28' class='pln'>28</p>
+<p id='n29' class='pln'>29</p>
+<p id='n30' class='pln'>30</p>
+<p id='n31' class='pln'>31</p>
+<p id='n32' class='stm run hide_run'>32</p>
+<p id='n33' class='pln'>33</p>
+<p id='n34' class='stm run hide_run'>34</p>
+<p id='n35' class='pln'>35</p>
+<p id='n36' class='stm run hide_run'>36</p>
+<p id='n37' class='stm run hide_run'>37</p>
+<p id='n38' class='pln'>38</p>
+<p id='n39' class='pln'>39</p>
+<p id='n40' class='stm run hide_run'>40</p>
+<p id='n41' class='stm run hide_run'>41</p>
+<p id='n42' class='stm par run hide_run'>42</p>
+<p id='n43' class='stm run hide_run'>43</p>
+<p id='n44' class='stm mis'>44</p>
+<p id='n45' class='stm mis'>45</p>
+<p id='n46' class='pln'>46</p>
+<p id='n47' class='pln'>47</p>
+<p id='n48' class='stm run hide_run'>48</p>
+<p id='n49' class='stm run hide_run'>49</p>
+<p id='n50' class='stm mis'>50</p>
+<p id='n51' class='stm mis'>51</p>
+<p id='n52' class='pln'>52</p>
+<p id='n53' class='pln'>53</p>
+<p id='n54' class='stm run hide_run'>54</p>
+<p id='n55' class='stm par run hide_run'>55</p>
+<p id='n56' class='stm run hide_run'>56</p>
+<p id='n57' class='pln'>57</p>
+<p id='n58' class='pln'>58</p>
+<p id='n59' class='stm run hide_run'>59</p>
+<p id='n60' class='pln'>60</p>
+<p id='n61' class='pln'>61</p>
+<p id='n62' class='pln'>62</p>
+<p id='n63' class='pln'>63</p>
+<p id='n64' class='pln'>64</p>
+<p id='n65' class='pln'>65</p>
+<p id='n66' class='pln'>66</p>
+<p id='n67' class='pln'>67</p>
+<p id='n68' class='stm run hide_run'>68</p>
+<p id='n69' class='stm mis'>69</p>
+<p id='n70' class='pln'>70</p>
+<p id='n71' class='pln'>71</p>
+<p id='n72' class='stm run hide_run'>72</p>
+<p id='n73' class='stm mis'>73</p>
+<p id='n74' class='pln'>74</p>
+<p id='n75' class='stm run hide_run'>75</p>
+<p id='n76' class='stm mis'>76</p>
+<p id='n77' class='pln'>77</p>
+<p id='n78' class='pln'>78</p>
+<p id='n79' class='stm run hide_run'>79</p>
+<p id='n80' class='pln'>80</p>
+<p id='n81' class='pln'>81</p>
+<p id='n82' class='pln'>82</p>
+<p id='n83' class='pln'>83</p>
+<p id='n84' class='pln'>84</p>
+<p id='n85' class='stm mis'>85</p>
+<p id='n86' class='pln'>86</p>
+<p id='n87' class='pln'>87</p>
+<p id='n88' class='stm run hide_run'>88</p>
+<p id='n89' class='pln'>89</p>
+<p id='n90' class='stm run hide_run'>90</p>
+<p id='n91' class='pln'>91</p>
+<p id='n92' class='stm mis'>92</p>
+<p id='n93' class='stm run hide_run'>93</p>
+<p id='n94' class='pln'>94</p>
+<p id='n95' class='pln'>95</p>
+<p id='n96' class='pln'>96</p>
+<p id='n97' class='pln'>97</p>
+<p id='n98' class='stm par run hide_run'>98</p>
+<p id='n99' class='stm par run hide_run'>99</p>
+<p id='n100' class='stm par run hide_run'>100</p>
+<p id='n101' class='stm par run hide_run'>101</p>
+<p id='n102' class='stm par run hide_run'>102</p>
+<p id='n103' class='stm par run hide_run'>103</p>
+<p id='n104' class='stm par run hide_run'>104</p>
+<p id='n105' class='stm run hide_run'>105</p>
+<p id='n106' class='pln'>106</p>
+<p id='n107' class='stm run hide_run'>107</p>
+<p id='n108' class='pln'>108</p>
+<p id='n109' class='pln'>109</p>
+<p id='n110' class='pln'>110</p>
+<p id='n111' class='pln'>111</p>
+<p id='n112' class='pln'>112</p>
+<p id='n113' class='pln'>113</p>
+<p id='n114' class='stm mis'>114</p>
+<p id='n115' class='pln'>115</p>
+<p id='n116' class='stm run hide_run'>116</p>
+<p id='n117' class='stm mis'>117</p>
+<p id='n118' class='stm mis'>118</p>
+<p id='n119' class='pln'>119</p>
+<p id='n120' class='stm run hide_run'>120</p>
+<p id='n121' class='stm mis'>121</p>
+<p id='n122' class='stm mis'>122</p>
+<p id='n123' class='pln'>123</p>
+<p id='n124' class='stm run hide_run'>124</p>
+<p id='n125' class='stm mis'>125</p>
+<p id='n126' class='stm mis'>126</p>
+<p id='n127' class='pln'>127</p>
+<p id='n128' class='stm run hide_run'>128</p>
+<p id='n129' class='pln'>129</p>
+<p id='n130' class='pln'>130</p>
+<p id='n131' class='pln'>131</p>
+<p id='n132' class='pln'>132</p>
+<p id='n133' class='pln'>133</p>
+<p id='n134' class='pln'>134</p>
+<p id='n135' class='stm run hide_run'>135</p>
+<p id='n136' class='pln'>136</p>
+<p id='n137' class='pln'>137</p>
+<p id='n138' class='pln'>138</p>
+<p id='n139' class='pln'>139</p>
+<p id='n140' class='pln'>140</p>
+<p id='n141' class='pln'>141</p>
+<p id='n142' class='stm run hide_run'>142</p>
+<p id='n143' class='pln'>143</p>
+<p id='n144' class='pln'>144</p>
+<p id='n145' class='pln'>145</p>
+<p id='n146' class='pln'>146</p>
+<p id='n147' class='pln'>147</p>
+<p id='n148' class='pln'>148</p>
+<p id='n149' class='pln'>149</p>
+<p id='n150' class='stm run hide_run'>150</p>
+<p id='n151' class='pln'>151</p>
+<p id='n152' class='pln'>152</p>
+<p id='n153' class='pln'>153</p>
+<p id='n154' class='stm run hide_run'>154</p>
+<p id='n155' class='pln'>155</p>
+<p id='n156' class='pln'>156</p>
+<p id='n157' class='pln'>157</p>
+<p id='n158' class='pln'>158</p>
+<p id='n159' class='pln'>159</p>
+<p id='n160' class='stm run hide_run'>160</p>
+<p id='n161' class='pln'>161</p>
+<p id='n162' class='stm mis'>162</p>
+<p id='n163' class='stm mis'>163</p>
+<p id='n164' class='pln'>164</p>
+<p id='n165' class='stm run hide_run'>165</p>
+<p id='n166' class='pln'>166</p>
+<p id='n167' class='pln'>167</p>
+<p id='n168' class='pln'>168</p>
+<p id='n169' class='pln'>169</p>
+<p id='n170' class='pln'>170</p>
+<p id='n171' class='pln'>171</p>
+<p id='n172' class='stm mis'>172</p>
+<p id='n173' class='stm mis'>173</p>
+<p id='n174' class='pln'>174</p>
+<p id='n175' class='stm run hide_run'>175</p>
+<p id='n176' class='pln'>176</p>
+<p id='n177' class='pln'>177</p>
+<p id='n178' class='pln'>178</p>
+<p id='n179' class='pln'>179</p>
+<p id='n180' class='pln'>180</p>
+<p id='n181' class='pln'>181</p>
+<p id='n182' class='pln'>182</p>
+<p id='n183' class='pln'>183</p>
+<p id='n184' class='pln'>184</p>
+<p id='n185' class='pln'>185</p>
+<p id='n186' class='pln'>186</p>
+<p id='n187' class='pln'>187</p>
+<p id='n188' class='pln'>188</p>
+<p id='n189' class='stm mis'>189</p>
+<p id='n190' class='stm mis'>190</p>
+<p id='n191' class='pln'>191</p>
+<p id='n192' class='stm run hide_run'>192</p>
+<p id='n193' class='pln'>193</p>
+<p id='n194' class='pln'>194</p>
+<p id='n195' class='pln'>195</p>
+<p id='n196' class='pln'>196</p>
+<p id='n197' class='pln'>197</p>
+<p id='n198' class='stm mis'>198</p>
+<p id='n199' class='pln'>199</p>
+<p id='n200' class='stm par run hide_run'>200</p>
+<p id='n201' class='stm run hide_run'>201</p>
+<p id='n202' class='stm mis'>202</p>
+<p id='n203' class='stm mis'>203</p>
+<p id='n204' class='pln'>204</p>
+<p id='n205' class='stm run hide_run'>205</p>
+<p id='n206' class='stm mis'>206</p>
+<p id='n207' class='stm mis'>207</p>
+<p id='n208' class='pln'>208</p>
+<p id='n209' class='stm run hide_run'>209</p>
+<p id='n210' class='pln'>210</p>
+<p id='n211' class='pln'>211</p>
+<p id='n212' class='pln'>212</p>
+<p id='n213' class='pln'>213</p>
+<p id='n214' class='stm run hide_run'>214</p>
+<p id='n215' class='pln'>215</p>
+<p id='n216' class='pln'>216</p>
+<p id='n217' class='pln'>217</p>
+<p id='n218' class='pln'>218</p>
+<p id='n219' class='stm mis'>219</p>
+<p id='n220' class='pln'>220</p>
+<p id='n221' class='stm run hide_run'>221</p>
+<p id='n222' class='pln'>222</p>
+<p id='n223' class='pln'>223</p>
+<p id='n224' class='pln'>224</p>
+<p id='n225' class='pln'>225</p>
+<p id='n226' class='pln'>226</p>
+<p id='n227' class='pln'>227</p>
+<p id='n228' class='pln'>228</p>
+<p id='n229' class='pln'>229</p>
+<p id='n230' class='pln'>230</p>
+<p id='n231' class='stm mis'>231</p>
+<p id='n232' class='stm mis'>232</p>
+<p id='n233' class='stm mis'>233</p>
+<p id='n234' class='stm mis'>234</p>
+<p id='n235' class='stm mis'>235</p>
+<p id='n236' class='stm mis'>236</p>
+<p id='n237' class='stm mis'>237</p>
+<p id='n238' class='stm mis'>238</p>
+<p id='n239' class='stm mis'>239</p>
+<p id='n240' class='stm mis'>240</p>
+<p id='n241' class='stm mis'>241</p>
+<p id='n242' class='pln'>242</p>
+<p id='n243' class='stm run hide_run'>243</p>
+<p id='n244' class='pln'>244</p>
+<p id='n245' class='pln'>245</p>
+<p id='n246' class='pln'>246</p>
+<p id='n247' class='stm mis'>247</p>
+<p id='n248' class='stm mis'>248</p>
+<p id='n249' class='pln'>249</p>
+<p id='n250' class='stm run hide_run'>250</p>
+<p id='n251' class='pln'>251</p>
+<p id='n252' class='pln'>252</p>
+<p id='n253' class='pln'>253</p>
+<p id='n254' class='pln'>254</p>
+<p id='n255' class='pln'>255</p>
+<p id='n256' class='pln'>256</p>
+<p id='n257' class='stm mis'>257</p>
+<p id='n258' class='stm mis'>258</p>
+<p id='n259' class='pln'>259</p>
+<p id='n260' class='stm mis'>260</p>
+<p id='n261' class='pln'>261</p>
+<p id='n262' class='stm mis'>262</p>
+<p id='n263' class='pln'>263</p>
+<p id='n264' class='stm mis'>264</p>
+<p id='n265' class='pln'>265</p>
+<p id='n266' class='stm mis'>266</p>
+<p id='n267' class='pln'>267</p>
+<p id='n268' class='pln'>268</p>
+<p id='n269' class='stm mis'>269</p>
+<p id='n270' class='stm mis'>270</p>
+<p id='n271' class='stm mis'>271</p>
+<p id='n272' class='stm mis'>272</p>
+<p id='n273' class='stm mis'>273</p>
+<p id='n274' class='pln'>274</p>
+<p id='n275' class='pln'>275</p>
+<p id='n276' class='pln'>276</p>
+<p id='n277' class='pln'>277</p>
+<p id='n278' class='stm mis'>278</p>
+<p id='n279' class='pln'>279</p>
+<p id='n280' class='stm mis'>280</p>
+<p id='n281' class='stm mis'>281</p>
+<p id='n282' class='pln'>282</p>
+<p id='n283' class='stm mis'>283</p>
+<p id='n284' class='pln'>284</p>
+<p id='n285' class='stm mis'>285</p>
+<p id='n286' class='pln'>286</p>
+<p id='n287' class='pln'>287</p>
+<p id='n288' class='pln'>288</p>
+<p id='n289' class='pln'>289</p>
+<p id='n290' class='stm run hide_run'>290</p>
+<p id='n291' class='pln'>291</p>
+<p id='n292' class='pln'>292</p>
+<p id='n293' class='pln'>293</p>
+<p id='n294' class='pln'>294</p>
+<p id='n295' class='pln'>295</p>
+<p id='n296' class='pln'>296</p>
+<p id='n297' class='pln'>297</p>
+<p id='n298' class='pln'>298</p>
+<p id='n299' class='pln'>299</p>
+<p id='n300' class='pln'>300</p>
+<p id='n301' class='stm mis'>301</p>
+<p id='n302' class='stm mis'>302</p>
+<p id='n303' class='stm mis'>303</p>
+<p id='n304' class='stm mis'>304</p>
+<p id='n305' class='pln'>305</p>
+<p id='n306' class='stm run hide_run'>306</p>
+<p id='n307' class='pln'>307</p>
+<p id='n308' class='pln'>308</p>
+<p id='n309' class='pln'>309</p>
+<p id='n310' class='pln'>310</p>
+<p id='n311' class='pln'>311</p>
+<p id='n312' class='pln'>312</p>
+<p id='n313' class='pln'>313</p>
+<p id='n314' class='pln'>314</p>
+<p id='n315' class='pln'>315</p>
+<p id='n316' class='pln'>316</p>
+<p id='n317' class='stm mis'>317</p>
+<p id='n318' class='pln'>318</p>
+<p id='n319' class='stm run hide_run'>319</p>
+<p id='n320' class='pln'>320</p>
+<p id='n321' class='pln'>321</p>
+<p id='n322' class='pln'>322</p>
+<p id='n323' class='pln'>323</p>
+<p id='n324' class='pln'>324</p>
+<p id='n325' class='pln'>325</p>
+<p id='n326' class='pln'>326</p>
+<p id='n327' class='pln'>327</p>
+<p id='n328' class='pln'>328</p>
+<p id='n329' class='pln'>329</p>
+<p id='n330' class='stm mis'>330</p>
+<p id='n331' class='pln'>331</p>
+<p id='n332' class='stm run hide_run'>332</p>
+<p id='n333' class='pln'>333</p>
+<p id='n334' class='pln'>334</p>
+<p id='n335' class='pln'>335</p>
+<p id='n336' class='pln'>336</p>
+<p id='n337' class='pln'>337</p>
+<p id='n338' class='pln'>338</p>
+<p id='n339' class='pln'>339</p>
+<p id='n340' class='pln'>340</p>
+<p id='n341' class='pln'>341</p>
+<p id='n342' class='stm mis'>342</p>
+<p id='n343' class='stm mis'>343</p>
+<p id='n344' class='stm mis'>344</p>
+<p id='n345' class='stm mis'>345</p>
+<p id='n346' class='stm mis'>346</p>
+<p id='n347' class='stm mis'>347</p>
+<p id='n348' class='pln'>348</p>
+<p id='n349' class='stm run hide_run'>349</p>
+<p id='n350' class='pln'>350</p>
+<p id='n351' class='pln'>351</p>
+<p id='n352' class='pln'>352</p>
+<p id='n353' class='pln'>353</p>
+<p id='n354' class='pln'>354</p>
+<p id='n355' class='pln'>355</p>
+<p id='n356' class='pln'>356</p>
+<p id='n357' class='stm mis'>357</p>
+<p id='n358' class='stm mis'>358</p>
+<p id='n359' class='stm mis'>359</p>
+<p id='n360' class='stm mis'>360</p>
+<p id='n361' class='stm mis'>361</p>
+<p id='n362' class='pln'>362</p>
+<p id='n363' class='stm run hide_run'>363</p>
+<p id='n364' class='pln'>364</p>
+<p id='n365' class='pln'>365</p>
+<p id='n366' class='pln'>366</p>
+<p id='n367' class='pln'>367</p>
+<p id='n368' class='pln'>368</p>
+<p id='n369' class='pln'>369</p>
+<p id='n370' class='pln'>370</p>
+<p id='n371' class='stm mis'>371</p>
+<p id='n372' class='stm mis'>372</p>
+<p id='n373' class='stm mis'>373</p>
+<p id='n374' class='stm mis'>374</p>
+<p id='n375' class='stm mis'>375</p>
+<p id='n376' class='stm mis'>376</p>
+<p id='n377' class='stm mis'>377</p>
+<p id='n378' class='pln'>378</p>
+<p id='n379' class='stm run hide_run'>379</p>
+<p id='n380' class='pln'>380</p>
+<p id='n381' class='pln'>381</p>
+<p id='n382' class='pln'>382</p>
+<p id='n383' class='pln'>383</p>
+<p id='n384' class='pln'>384</p>
+<p id='n385' class='stm mis'>385</p>
+<p id='n386' class='pln'>386</p>
+<p id='n387' class='stm run hide_run'>387</p>
+<p id='n388' class='pln'>388</p>
+<p id='n389' class='pln'>389</p>
+<p id='n390' class='pln'>390</p>
+<p id='n391' class='pln'>391</p>
+<p id='n392' class='pln'>392</p>
+<p id='n393' class='pln'>393</p>
+<p id='n394' class='pln'>394</p>
+<p id='n395' class='stm mis'>395</p>
+<p id='n396' class='pln'>396</p>
+<p id='n397' class='pln'>397</p>
+<p id='n398' class='pln'>398</p>
+<p id='n399' class='pln'>399</p>
+<p id='n400' class='stm run hide_run'>400</p>
+<p id='n401' class='pln'>401</p>
+<p id='n402' class='stm mis'>402</p>
+<p id='n403' class='pln'>403</p>
+<p id='n404' class='stm run hide_run'>404</p>
+<p id='n405' class='pln'>405</p>
+<p id='n406' class='stm mis'>406</p>
+<p id='n407' class='stm mis'>407</p>
+<p id='n408' class='stm mis'>408</p>
+<p id='n409' class='pln'>409</p>
+<p id='n410' class='stm mis'>410</p>
+<p id='n411' class='pln'>411</p>
+<p id='n412' class='stm run hide_run'>412</p>
+<p id='n413' class='pln'>413</p>
+<p id='n414' class='pln'>414</p>
+<p id='n415' class='pln'>415</p>
+<p id='n416' class='pln'>416</p>
+<p id='n417' class='pln'>417</p>
+<p id='n418' class='stm mis'>418</p>
+<p id='n419' class='stm mis'>419</p>
+<p id='n420' class='pln'>420</p>
+<p id='n421' class='stm mis'>421</p>
+<p id='n422' class='stm mis'>422</p>
+<p id='n423' class='stm mis'>423</p>
+<p id='n424' class='stm mis'>424</p>
+<p id='n425' class='pln'>425</p>
+<p id='n426' class='stm mis'>426</p>
+<p id='n427' class='pln'>427</p>
+<p id='n428' class='stm run hide_run'>428</p>
+<p id='n429' class='pln'>429</p>
+<p id='n430' class='pln'>430</p>
+<p id='n431' class='pln'>431</p>
+<p id='n432' class='pln'>432</p>
+<p id='n433' class='pln'>433</p>
+<p id='n434' class='pln'>434</p>
+<p id='n435' class='pln'>435</p>
+<p id='n436' class='pln'>436</p>
+<p id='n437' class='pln'>437</p>
+<p id='n438' class='pln'>438</p>
+<p id='n439' class='pln'>439</p>
+<p id='n440' class='pln'>440</p>
+<p id='n441' class='pln'>441</p>
+<p id='n442' class='pln'>442</p>
+<p id='n443' class='stm mis'>443</p>
+<p id='n444' class='pln'>444</p>
+<p id='n445' class='stm mis'>445</p>
+<p id='n446' class='stm mis'>446</p>
+<p id='n447' class='stm mis'>447</p>
+<p id='n448' class='pln'>448</p>
+<p id='n449' class='stm mis'>449</p>
+<p id='n450' class='pln'>450</p>
+<p id='n451' class='pln'>451</p>
+<p id='n452' class='stm mis'>452</p>
+<p id='n453' class='pln'>453</p>
+<p id='n454' class='pln'>454</p>
+<p id='n455' class='stm mis'>455</p>
+<p id='n456' class='stm mis'>456</p>
+<p id='n457' class='pln'>457</p>
+<p id='n458' class='stm mis'>458</p>
+<p id='n459' class='stm mis'>459</p>
+<p id='n460' class='pln'>460</p>
+<p id='n461' class='stm run hide_run'>461</p>
+<p id='n462' class='pln'>462</p>
+<p id='n463' class='pln'>463</p>
+<p id='n464' class='pln'>464</p>
+<p id='n465' class='pln'>465</p>
+<p id='n466' class='pln'>466</p>
+<p id='n467' class='pln'>467</p>
+<p id='n468' class='pln'>468</p>
+<p id='n469' class='pln'>469</p>
+<p id='n470' class='pln'>470</p>
+<p id='n471' class='pln'>471</p>
+<p id='n472' class='pln'>472</p>
+<p id='n473' class='pln'>473</p>
+<p id='n474' class='pln'>474</p>
+<p id='n475' class='pln'>475</p>
+<p id='n476' class='pln'>476</p>
+<p id='n477' class='pln'>477</p>
+<p id='n478' class='pln'>478</p>
+<p id='n479' class='pln'>479</p>
+<p id='n480' class='pln'>480</p>
+<p id='n481' class='pln'>481</p>
+<p id='n482' class='pln'>482</p>
+<p id='n483' class='pln'>483</p>
+<p id='n484' class='pln'>484</p>
+<p id='n485' class='pln'>485</p>
+<p id='n486' class='pln'>486</p>
+<p id='n487' class='pln'>487</p>
+<p id='n488' class='pln'>488</p>
+<p id='n489' class='pln'>489</p>
+<p id='n490' class='pln'>490</p>
+<p id='n491' class='pln'>491</p>
+<p id='n492' class='pln'>492</p>
+<p id='n493' class='pln'>493</p>
+<p id='n494' class='pln'>494</p>
+<p id='n495' class='stm mis'>495</p>
+<p id='n496' class='stm mis'>496</p>
+<p id='n497' class='stm mis'>497</p>
+<p id='n498' class='stm mis'>498</p>
+<p id='n499' class='stm mis'>499</p>
+<p id='n500' class='stm mis'>500</p>
+<p id='n501' class='pln'>501</p>
+<p id='n502' class='stm mis'>502</p>
+<p id='n503' class='stm mis'>503</p>
+<p id='n504' class='pln'>504</p>
+<p id='n505' class='stm mis'>505</p>
+<p id='n506' class='stm mis'>506</p>
+<p id='n507' class='stm mis'>507</p>
+<p id='n508' class='stm mis'>508</p>
+<p id='n509' class='pln'>509</p>
+<p id='n510' class='stm mis'>510</p>
+<p id='n511' class='pln'>511</p>
+<p id='n512' class='stm run hide_run'>512</p>
+<p id='n513' class='pln'>513</p>
+<p id='n514' class='pln'>514</p>
+<p id='n515' class='pln'>515</p>
+<p id='n516' class='pln'>516</p>
+<p id='n517' class='pln'>517</p>
+<p id='n518' class='pln'>518</p>
+<p id='n519' class='pln'>519</p>
+<p id='n520' class='pln'>520</p>
+<p id='n521' class='pln'>521</p>
+<p id='n522' class='pln'>522</p>
+<p id='n523' class='pln'>523</p>
+<p id='n524' class='pln'>524</p>
+<p id='n525' class='pln'>525</p>
+<p id='n526' class='pln'>526</p>
+<p id='n527' class='pln'>527</p>
+<p id='n528' class='pln'>528</p>
+<p id='n529' class='stm mis'>529</p>
+<p id='n530' class='stm mis'>530</p>
+<p id='n531' class='stm mis'>531</p>
+<p id='n532' class='stm mis'>532</p>
+<p id='n533' class='pln'>533</p>
+<p id='n534' class='stm mis'>534</p>
+<p id='n535' class='pln'>535</p>
+<p id='n536' class='stm mis'>536</p>
+<p id='n537' class='pln'>537</p>
+<p id='n538' class='stm run hide_run'>538</p>
+<p id='n539' class='pln'>539</p>
+<p id='n540' class='pln'>540</p>
+<p id='n541' class='pln'>541</p>
+<p id='n542' class='pln'>542</p>
+<p id='n543' class='pln'>543</p>
+<p id='n544' class='pln'>544</p>
+<p id='n545' class='pln'>545</p>
+<p id='n546' class='pln'>546</p>
+<p id='n547' class='pln'>547</p>
+<p id='n548' class='pln'>548</p>
+<p id='n549' class='pln'>549</p>
+<p id='n550' class='stm mis'>550</p>
+<p id='n551' class='stm mis'>551</p>
+<p id='n552' class='stm mis'>552</p>
+<p id='n553' class='stm mis'>553</p>
+<p id='n554' class='stm mis'>554</p>
+<p id='n555' class='stm mis'>555</p>
+<p id='n556' class='stm mis'>556</p>
+<p id='n557' class='stm mis'>557</p>
+<p id='n558' class='stm mis'>558</p>
+<p id='n559' class='stm mis'>559</p>
+<p id='n560' class='pln'>560</p>
+<p id='n561' class='stm mis'>561</p>
+<p id='n562' class='pln'>562</p>
+<p id='n563' class='pln'>563</p>
+<p id='n564' class='pln'>564</p>
+<p id='n565' class='pln'>565</p>
+<p id='n566' class='stm run hide_run'>566</p>
+<p id='n567' class='stm run hide_run'>567</p>
+<p id='n568' class='stm run hide_run'>568</p>
+<p id='n569' class='stm run hide_run'>569</p>
+<p id='n570' class='stm run hide_run'>570</p>
+<p id='n571' class='stm run hide_run'>571</p>
+<p id='n572' class='pln'>572</p>
+<p id='n573' class='stm par run hide_run'>573</p>
+<p id='n574' class='stm mis'>574</p>
+<p id='n575' class='pln'>575</p>
+<p id='n576' class='stm run hide_run'>576</p>
+<p id='n577' class='stm run hide_run'>577</p>
+<p id='n578' class='pln'>578</p>
+<p id='n579' class='pln'>579</p>
+<p id='n580' class='pln'>580</p>
+<p id='n581' class='stm run hide_run'>581</p>
+<p id='n582' class='stm run hide_run'>582</p>
+<p id='n583' class='pln'>583</p>
+<p id='n584' class='pln'>584</p>
+<p id='n585' class='pln'>585</p>
+<p id='n586' class='stm par run hide_run'>586</p>
+<p id='n587' class='stm run hide_run'>587</p>
+<p id='n588' class='stm run hide_run'>588</p>
+<p id='n589' class='pln'>589</p>
+<p id='n590' class='pln'>590</p>
+<p id='n591' class='pln'>591</p>
+<p id='n592' class='stm run hide_run'>592</p>
+<p id='n593' class='stm run hide_run'>593</p>
+<p id='n594' class='pln'>594</p>
+<p id='n595' class='pln'>595</p>
+<p id='n596' class='pln'>596</p>
+<p id='n597' class='stm par run hide_run'>597</p>
+<p id='n598' class='stm run hide_run'>598</p>
+<p id='n599' class='pln'>599</p>
+<p id='n600' class='pln'>600</p>
+<p id='n601' class='pln'>601</p>
+<p id='n602' class='pln'>602</p>
+<p id='n603' class='stm mis'>603</p>
+<p id='n604' class='pln'>604</p>
+<p id='n605' class='stm run hide_run'>605</p>
+<p id='n606' class='pln'>606</p>
+<p id='n607' class='stm mis'>607</p>
+<p id='n608' class='pln'>608</p>
+<p id='n609' class='stm run hide_run'>609</p>
+<p id='n610' class='pln'>610</p>
+<p id='n611' class='stm mis'>611</p>
+<p id='n612' class='pln'>612</p>
+<p id='n613' class='stm par run hide_run'>613</p>
+<p id='n614' class='stm mis'>614</p>
+<p id='n615' class='pln'>615</p>
+<p id='n616' class='stm mis'>616</p>
+<p id='n617' class='pln'>617</p>
+<p id='n618' class='stm par run hide_run'>618</p>
+<p id='n619' class='stm mis'>619</p>
+<p id='n620' class='stm mis'>620</p>
+<p id='n621' class='pln'>621</p>
+<p id='n622' class='pln'>622</p>
+<p id='n623' class='pln'>623</p>
+<p id='n624' class='pln'>624</p>
+<p id='n625' class='stm run hide_run'>625</p>
+<p id='n626' class='pln'>626</p>
+<p id='n627' class='stm mis'>627</p>
+<p id='n628' class='pln'>628</p>
+<p id='n629' class='stm run hide_run'>629</p>
+<p id='n630' class='stm mis'>630</p>
+<p id='n631' class='pln'>631</p>
+<p id='n632' class='stm par run hide_run'>632</p>
+<p id='n633' class='stm mis'>633</p>
+<p id='n634' class='stm mis'>634</p>
+<p id='n635' class='pln'>635</p>
+<p id='n636' class='stm run hide_run'>636</p>
+<p id='n637' class='stm mis'>637</p>
+<p id='n638' class='pln'>638</p>
+<p id='n639' class='stm run hide_run'>639</p>
+<p id='n640' class='stm mis'>640</p>
+<p id='n641' class='pln'>641</p>
+<p id='n642' class='pln'>642</p>
+<p id='n643' class='pln'>643</p>
+<p id='n644' class='pln'>644</p>
+<p id='n645' class='stm run hide_run'>645</p>
+<p id='n646' class='stm mis'>646</p>
+<p id='n647' class='pln'>647</p>
+<p id='n648' class='stm run hide_run'>648</p>
+<p id='n649' class='stm mis'>649</p>
+<p id='n650' class='pln'>650</p>
+<p id='n651' class='stm run hide_run'>651</p>
+<p id='n652' class='stm mis'>652</p>
+<p id='n653' class='pln'>653</p>
+<p id='n654' class='stm run hide_run'>654</p>
+<p id='n655' class='stm mis'>655</p>
+<p id='n656' class='pln'>656</p>
+<p id='n657' class='pln'>657</p>
+<p id='n658' class='pln'>658</p>
+<p id='n659' class='pln'>659</p>
+<p id='n660' class='stm run hide_run'>660</p>
+<p id='n661' class='pln'>661</p>
+<p id='n662' class='pln'>662</p>
+<p id='n663' class='pln'>663</p>
+<p id='n664' class='stm mis'>664</p>
+<p id='n665' class='stm mis'>665</p>
+<p id='n666' class='stm mis'>666</p>
+<p id='n667' class='pln'>667</p>
+<p id='n668' class='stm run hide_run'>668</p>
+<p id='n669' class='stm mis'>669</p>
+<p id='n670' class='pln'>670</p>
+<p id='n671' class='stm run hide_run'>671</p>
+<p id='n672' class='stm mis'>672</p>
+<p id='n673' class='pln'>673</p>
+<p id='n674' class='pln'>674</p>
+<p id='n675' class='pln'>675</p>
+<p id='n676' class='pln'>676</p>
+<p id='n677' class='stm par run hide_run'>677</p>
+<p id='n678' class='stm mis'>678</p>
+<p id='n679' class='pln'>679</p>
+<p id='n680' class='stm mis'>680</p>
+<p id='n681' class='pln'>681</p>
+<p id='n682' class='stm par run hide_run'>682</p>
+<p id='n683' class='stm mis'>683</p>
+<p id='n684' class='pln'>684</p>
+<p id='n685' class='stm mis'>685</p>
+<p id='n686' class='pln'>686</p>
+<p id='n687' class='stm par run hide_run'>687</p>
+<p id='n688' class='stm mis'>688</p>
+<p id='n689' class='pln'>689</p>
+<p id='n690' class='pln'>690</p>
+<p id='n691' class='pln'>691</p>
+<p id='n692' class='pln'>692</p>
+<p id='n693' class='stm mis'>693</p>
+<p id='n694' class='pln'>694</p>
+<p id='n695' class='stm mis'>695</p>
+<p id='n696' class='pln'>696</p>
+<p id='n697' class='pln'>697</p>
+<p id='n698' class='pln'>698</p>
+<p id='n699' class='pln'>699</p>
+<p id='n700' class='stm mis'>700</p>
+<p id='n701' class='stm mis'>701</p>
+<p id='n702' class='stm mis'>702</p>
+<p id='n703' class='pln'>703</p>
+<p id='n704' class='stm mis'>704</p>
+<p id='n705' class='pln'>705</p>
+<p id='n706' class='pln'>706</p>
+<p id='n707' class='pln'>707</p>
+<p id='n708' class='pln'>708</p>
+<p id='n709' class='stm run hide_run'>709</p>
+<p id='n710' class='stm run hide_run'>710</p>
+<p id='n711' class='stm run hide_run'>711</p>
+<p id='n712' class='stm run hide_run'>712</p>
+<p id='n713' class='stm run hide_run'>713</p>
+<p id='n714' class='stm run hide_run'>714</p>
+<p id='n715' class='stm par run hide_run'>715</p>
+<p id='n716' class='stm run hide_run'>716</p>
+<p id='n717' class='stm run hide_run'>717</p>
+<p id='n718' class='pln'>718</p>
+<p id='n719' class='pln'>719</p>
+<p id='n720' class='pln'>720</p>
+<p id='n721' class='pln'>721</p>
+<p id='n722' class='stm par run hide_run'>722</p>
+<p id='n723' class='stm mis'>723</p>
+<p id='n724' class='stm mis'>724</p>
+<p id='n725' class='pln'>725</p>
+<p id='n726' class='stm par run hide_run'>726</p>
+<p id='n727' class='stm run hide_run'>727</p>
+<p id='n728' class='stm mis'>728</p>
+<p id='n729' class='pln'>729</p>
+
+ </td>
+ <td class='text' valign='top'>
+<p id='t1' class='pln'><span class='str'>&quot;&quot;&quot; path.py - An object representing a path to a file or directory.</span><span class='strut'>&nbsp;</span></p>
+<p id='t2' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t3' class='pln'><span class='str'>Example:</span><span class='strut'>&nbsp;</span></p>
+<p id='t4' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t5' class='pln'><span class='str'>from path import path</span><span class='strut'>&nbsp;</span></p>
+<p id='t6' class='pln'><span class='str'>d = path(&#39;/home/guido/bin&#39;)</span><span class='strut'>&nbsp;</span></p>
+<p id='t7' class='pln'><span class='str'>for f in d.files(&#39;*.py&#39;):</span><span class='strut'>&nbsp;</span></p>
+<p id='t8' class='pln'><span class='str'>&nbsp; &nbsp; f.chmod(0755)</span><span class='strut'>&nbsp;</span></p>
+<p id='t9' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t10' class='pln'><span class='str'>This module requires Python 2.2 or later.</span><span class='strut'>&nbsp;</span></p>
+<p id='t11' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t12' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t13' class='pln'><span class='str'>URL:&nbsp; &nbsp;&nbsp; http://www.jorendorff.com/articles/python/path</span><span class='strut'>&nbsp;</span></p>
+<p id='t14' class='pln'><span class='str'>Author:&nbsp; Jason Orendorff &lt;jason@jorendorff.com&gt; (and others - see the url!)</span><span class='strut'>&nbsp;</span></p>
+<p id='t15' class='pln'><span class='str'>Date:&nbsp; &nbsp; 29 Feb 2004</span><span class='strut'>&nbsp;</span></p>
+<p id='t16' class='pln'><span class='str'>&quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t17' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t18' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t19' class='pln'><span class='com'># TODO</span><span class='strut'>&nbsp;</span></p>
+<p id='t20' class='pln'><span class='com'>#&nbsp;&nbsp; - Bug in write_text().&nbsp; It doesn&#39;t support Universal newline mode.</span><span class='strut'>&nbsp;</span></p>
+<p id='t21' class='pln'><span class='com'>#&nbsp;&nbsp; - Better error message in listdir() when self isn&#39;t a</span><span class='strut'>&nbsp;</span></p>
+<p id='t22' class='pln'><span class='com'>#&nbsp; &nbsp;&nbsp; directory. (On Windows, the error message really sucks.)</span><span class='strut'>&nbsp;</span></p>
+<p id='t23' class='pln'><span class='com'>#&nbsp;&nbsp; - Make sure everything has a good docstring.</span><span class='strut'>&nbsp;</span></p>
+<p id='t24' class='pln'><span class='com'>#&nbsp;&nbsp; - Add methods for regex find and replace.</span><span class='strut'>&nbsp;</span></p>
+<p id='t25' class='pln'><span class='com'>#&nbsp;&nbsp; - guess_content_type() method?</span><span class='strut'>&nbsp;</span></p>
+<p id='t26' class='pln'><span class='com'>#&nbsp;&nbsp; - Perhaps support arguments to touch().</span><span class='strut'>&nbsp;</span></p>
+<p id='t27' class='pln'><span class='com'>#&nbsp;&nbsp; - Could add split() and join() methods that generate warnings.</span><span class='strut'>&nbsp;</span></p>
+<p id='t28' class='pln'><span class='com'>#&nbsp;&nbsp; - Note:&nbsp; __add__() technically has a bug, I think, where</span><span class='strut'>&nbsp;</span></p>
+<p id='t29' class='pln'><span class='com'>#&nbsp; &nbsp;&nbsp; it doesn&#39;t play nice with other types that implement</span><span class='strut'>&nbsp;</span></p>
+<p id='t30' class='pln'><span class='com'>#&nbsp; &nbsp;&nbsp; __radd__().&nbsp; Test this.</span><span class='strut'>&nbsp;</span></p>
+<p id='t31' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t32' class='stm run hide_run'><span class='key'>from</span> <span class='nam'>__future__</span> <span class='key'>import</span> <span class='nam'>generators</span><span class='strut'>&nbsp;</span></p>
+<p id='t33' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t34' class='stm run hide_run'><span class='key'>import</span> <span class='nam'>sys</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>,</span> <span class='nam'>fnmatch</span><span class='op'>,</span> <span class='nam'>glob</span><span class='op'>,</span> <span class='nam'>shutil</span><span class='op'>,</span> <span class='nam'>codecs</span><span class='strut'>&nbsp;</span></p>
+<p id='t35' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t36' class='stm run hide_run'><span class='nam'>__version__</span> <span class='op'>=</span> <span class='str'>&#39;2.0.2&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t37' class='stm run hide_run'><span class='nam'>__all__</span> <span class='op'>=</span> <span class='op'>[</span><span class='str'>&#39;path&#39;</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
+<p id='t38' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t39' class='pln'><span class='com'># Pre-2.3 support.&nbsp; Are unicode filenames supported?</span><span class='strut'>&nbsp;</span></p>
+<p id='t40' class='stm run hide_run'><span class='nam'>_base</span> <span class='op'>=</span> <span class='nam'>str</span><span class='strut'>&nbsp;</span></p>
+<p id='t41' class='stm run hide_run'><span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t42' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>48</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>supports_unicode_filenames</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t43' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_base</span> <span class='op'>=</span> <span class='nam'>unicode</span><span class='strut'>&nbsp;</span></p>
+<p id='t44' class='stm mis'><span class='key'>except</span> <span class='nam'>AttributeError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t45' class='stm mis'>&nbsp; &nbsp; <span class='key'>pass</span><span class='strut'>&nbsp;</span></p>
+<p id='t46' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t47' class='pln'><span class='com'># Pre-2.3 workaround for basestring.</span><span class='strut'>&nbsp;</span></p>
+<p id='t48' class='stm run hide_run'><span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t49' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>basestring</span><span class='strut'>&nbsp;</span></p>
+<p id='t50' class='stm mis'><span class='key'>except</span> <span class='nam'>NameError</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t51' class='stm mis'>&nbsp; &nbsp; <span class='nam'>basestring</span> <span class='op'>=</span> <span class='op'>(</span><span class='nam'>str</span><span class='op'>,</span> <span class='nam'>unicode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t52' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t53' class='pln'><span class='com'># Universal newline support</span><span class='strut'>&nbsp;</span></p>
+<p id='t54' class='stm run hide_run'><span class='nam'>_textmode</span> <span class='op'>=</span> <span class='str'>&#39;r&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t55' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>59</span><span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>file</span><span class='op'>,</span> <span class='str'>&#39;newlines&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t56' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>_textmode</span> <span class='op'>=</span> <span class='str'>&#39;U&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t57' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t58' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t59' class='stm run hide_run'><span class='key'>class</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>_base</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t60' class='pln'>&nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Represents a filesystem path.</span><span class='strut'>&nbsp;</span></p>
+<p id='t61' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t62' class='pln'><span class='str'>&nbsp; &nbsp; For documentation on individual methods, consult their</span><span class='strut'>&nbsp;</span></p>
+<p id='t63' class='pln'><span class='str'>&nbsp; &nbsp; counterparts in os.path.</span><span class='strut'>&nbsp;</span></p>
+<p id='t64' class='pln'><span class='str'>&nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t65' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t66' class='pln'>&nbsp; &nbsp; <span class='com'># --- Special Python methods.</span><span class='strut'>&nbsp;</span></p>
+<p id='t67' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t68' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__repr__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t69' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='str'>&#39;path(%s)&#39;</span> <span class='op'>%</span> <span class='nam'>_base</span><span class='op'>.</span><span class='nam'>__repr__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t70' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t71' class='pln'>&nbsp; &nbsp; <span class='com'># Adding a path and a string yields a path.</span><span class='strut'>&nbsp;</span></p>
+<p id='t72' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__add__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>more</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t73' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>_base</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span> <span class='op'>+</span> <span class='nam'>more</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t74' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t75' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__radd__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>other</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t76' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>other</span> <span class='op'>+</span> <span class='nam'>_base</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t77' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t78' class='pln'>&nbsp; &nbsp; <span class='com'># The / operator joins paths.</span><span class='strut'>&nbsp;</span></p>
+<p id='t79' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>__div__</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>rel</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t80' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; fp.__div__(rel) == fp / rel == fp.joinpath(rel)</span><span class='strut'>&nbsp;</span></p>
+<p id='t81' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t82' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Join two path components, adding a separator character if</span><span class='strut'>&nbsp;</span></p>
+<p id='t83' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; needed.</span><span class='strut'>&nbsp;</span></p>
+<p id='t84' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t85' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>rel</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t86' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t87' class='pln'>&nbsp; &nbsp; <span class='com'># Make the / operator work even when true division is enabled.</span><span class='strut'>&nbsp;</span></p>
+<p id='t88' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>__truediv__</span> <span class='op'>=</span> <span class='nam'>__div__</span><span class='strut'>&nbsp;</span></p>
+<p id='t89' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t90' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>getcwd</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t91' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return the current working directory as a path object. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t92' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>getcwd</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t93' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>getcwd</span> <span class='op'>=</span> <span class='nam'>staticmethod</span><span class='op'>(</span><span class='nam'>getcwd</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t94' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t95' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t96' class='pln'>&nbsp; &nbsp; <span class='com'># --- Operations on path strings.</span><span class='strut'>&nbsp;</span></p>
+<p id='t97' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t98' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>abspath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp;&nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>abspath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t99' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>normcase</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>normcase</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t100' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>normpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>normpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t101' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>realpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>realpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t102' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>expanduser</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>expanduser</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t103' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>expandvars</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>expandvars</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t104' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>dirname</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span>&nbsp; &nbsp; &nbsp;&nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>dirname</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t105' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>basename</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>basename</span><span class='strut'>&nbsp;</span></p>
+<p id='t106' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t107' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>expand</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t108' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Clean up a filename by calling expandvars(),</span><span class='strut'>&nbsp;</span></p>
+<p id='t109' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; expanduser(), and normpath() on it.</span><span class='strut'>&nbsp;</span></p>
+<p id='t110' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t111' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This is commonly everything needed to clean up a filename</span><span class='strut'>&nbsp;</span></p>
+<p id='t112' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; read from a configuration file, for example.</span><span class='strut'>&nbsp;</span></p>
+<p id='t113' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t114' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>expandvars</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>expanduser</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>normpath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t115' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t116' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_namebase</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t117' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>base</span><span class='op'>,</span> <span class='nam'>ext</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitext</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t118' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>base</span><span class='strut'>&nbsp;</span></p>
+<p id='t119' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t120' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_ext</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t121' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>,</span> <span class='nam'>ext</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitext</span><span class='op'>(</span><span class='nam'>_base</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t122' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>ext</span><span class='strut'>&nbsp;</span></p>
+<p id='t123' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t124' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_drive</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t125' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>drive</span><span class='op'>,</span> <span class='nam'>r</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitdrive</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t126' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>drive</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t127' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t128' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>parent</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
+<p id='t129' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>dirname</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
+<p id='t130' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; This path&#39;s parent directory, as a new path object.</span><span class='strut'>&nbsp;</span></p>
+<p id='t131' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t132' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example, path(&#39;/usr/local/lib/libpython.so&#39;).parent == path(&#39;/usr/local/lib&#39;)</span><span class='strut'>&nbsp;</span></p>
+<p id='t133' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t134' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t135' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>name</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
+<p id='t136' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>basename</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
+<p id='t137' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The name of this file or directory without the full path.</span><span class='strut'>&nbsp;</span></p>
+<p id='t138' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t139' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example, path(&#39;/usr/local/lib/libpython.so&#39;).name == &#39;libpython.so&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t140' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t141' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t142' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>namebase</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
+<p id='t143' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_get_namebase</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
+<p id='t144' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The same as path.name, but with one file extension stripped off.</span><span class='strut'>&nbsp;</span></p>
+<p id='t145' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t146' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example, path(&#39;/home/guido/python.tar.gz&#39;).name&nbsp; &nbsp;&nbsp; == &#39;python.tar.gz&#39;,</span><span class='strut'>&nbsp;</span></p>
+<p id='t147' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; but&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; path(&#39;/home/guido/python.tar.gz&#39;).namebase == &#39;python.tar&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t148' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t149' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t150' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ext</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
+<p id='t151' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_get_ext</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
+<p id='t152' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The file extension, for example &#39;.py&#39;. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t153' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t154' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>drive</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
+<p id='t155' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_get_drive</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
+<p id='t156' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The drive specifier, for example &#39;C:&#39;.</span><span class='strut'>&nbsp;</span></p>
+<p id='t157' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This is always empty on systems that don&#39;t use drive specifiers.</span><span class='strut'>&nbsp;</span></p>
+<p id='t158' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t159' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t160' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>splitpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t161' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; p.splitpath() -&gt; Return (p.parent, p.name). &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t162' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parent</span><span class='op'>,</span> <span class='nam'>child</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>split</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t163' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>parent</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>child</span><span class='strut'>&nbsp;</span></p>
+<p id='t164' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t165' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>splitdrive</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t166' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; p.splitdrive() -&gt; Return (p.drive, &lt;the rest of p&gt;).</span><span class='strut'>&nbsp;</span></p>
+<p id='t167' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t168' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Split the drive specifier from this path.&nbsp; If there is</span><span class='strut'>&nbsp;</span></p>
+<p id='t169' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; no drive specifier, p.drive is empty, so the return value</span><span class='strut'>&nbsp;</span></p>
+<p id='t170' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; is simply (path(&#39;&#39;), p).&nbsp; This is always the case on Unix.</span><span class='strut'>&nbsp;</span></p>
+<p id='t171' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t172' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>drive</span><span class='op'>,</span> <span class='nam'>rel</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitdrive</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t173' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>drive</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>rel</span><span class='strut'>&nbsp;</span></p>
+<p id='t174' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t175' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>splitext</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t176' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; p.splitext() -&gt; Return (p.stripext(), p.ext).</span><span class='strut'>&nbsp;</span></p>
+<p id='t177' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t178' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Split the filename extension from this path and return</span><span class='strut'>&nbsp;</span></p>
+<p id='t179' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; the two parts.&nbsp; Either part may be empty.</span><span class='strut'>&nbsp;</span></p>
+<p id='t180' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t181' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The extension is everything from &#39;.&#39; to the end of the</span><span class='strut'>&nbsp;</span></p>
+<p id='t182' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; last path segment.&nbsp; This has the property that if</span><span class='strut'>&nbsp;</span></p>
+<p id='t183' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; (a, b) == p.splitext(), then a + b == p.</span><span class='strut'>&nbsp;</span></p>
+<p id='t184' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t185' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Cast to plain string using _base because Python 2.2</span><span class='strut'>&nbsp;</span></p>
+<p id='t186' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># implementations of os.path.splitext use &quot;for c in path:...&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t187' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># which means something different when applied to a path</span><span class='strut'>&nbsp;</span></p>
+<p id='t188' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># object.</span><span class='strut'>&nbsp;</span></p>
+<p id='t189' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>filename</span><span class='op'>,</span> <span class='nam'>ext</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitext</span><span class='op'>(</span><span class='nam'>_base</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t190' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>filename</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>ext</span><span class='strut'>&nbsp;</span></p>
+<p id='t191' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t192' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>stripext</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t193' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; p.stripext() -&gt; Remove one file extension from the path.</span><span class='strut'>&nbsp;</span></p>
+<p id='t194' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t195' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example, path(&#39;/home/guido/python.tar.gz&#39;).stripext()</span><span class='strut'>&nbsp;</span></p>
+<p id='t196' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; returns path(&#39;/home/guido/python.tar&#39;).</span><span class='strut'>&nbsp;</span></p>
+<p id='t197' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t198' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>splitext</span><span class='op'>(</span><span class='op'>)</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
+<p id='t199' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t200' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>214</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>,</span> <span class='str'>&#39;splitunc&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t201' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>splitunc</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t202' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>unc</span><span class='op'>,</span> <span class='nam'>rest</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitunc</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t203' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>unc</span><span class='op'>)</span><span class='op'>,</span> <span class='nam'>rest</span><span class='strut'>&nbsp;</span></p>
+<p id='t204' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t205' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>_get_uncshare</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t206' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>unc</span><span class='op'>,</span> <span class='nam'>r</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>splitunc</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t207' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>unc</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t208' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t209' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>uncshare</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
+<p id='t210' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>_get_uncshare</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
+<p id='t211' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; The UNC mount point for this path.</span><span class='strut'>&nbsp;</span></p>
+<p id='t212' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is empty for paths on local drives. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t213' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t214' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>joinpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t215' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Join two or more path components, adding a separator</span><span class='strut'>&nbsp;</span></p>
+<p id='t216' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; character (os.sep) if needed.&nbsp; Returns a new path</span><span class='strut'>&nbsp;</span></p>
+<p id='t217' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; object.</span><span class='strut'>&nbsp;</span></p>
+<p id='t218' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t219' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='op'>*</span><span class='nam'>args</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t220' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t221' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>splitall</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t222' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return a list of the path components in this path.</span><span class='strut'>&nbsp;</span></p>
+<p id='t223' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t224' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The first item in the list will be a path.&nbsp; Its value will be</span><span class='strut'>&nbsp;</span></p>
+<p id='t225' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; either os.curdir, os.pardir, empty, or the root directory of</span><span class='strut'>&nbsp;</span></p>
+<p id='t226' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; this path (for example, &#39;/&#39; or &#39;C:\\&#39;).&nbsp; The other items in</span><span class='strut'>&nbsp;</span></p>
+<p id='t227' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; the list will be strings.</span><span class='strut'>&nbsp;</span></p>
+<p id='t228' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t229' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; path.path.joinpath(*result) will yield the original path.</span><span class='strut'>&nbsp;</span></p>
+<p id='t230' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t231' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parts</span> <span class='op'>=</span> <span class='op'>[</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
+<p id='t232' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>loc</span> <span class='op'>=</span> <span class='nam'>self</span><span class='strut'>&nbsp;</span></p>
+<p id='t233' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>while</span> <span class='nam'>loc</span> <span class='op'>!=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>curdir</span> <span class='key'>and</span> <span class='nam'>loc</span> <span class='op'>!=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>pardir</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t234' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>prev</span> <span class='op'>=</span> <span class='nam'>loc</span><span class='strut'>&nbsp;</span></p>
+<p id='t235' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>loc</span><span class='op'>,</span> <span class='nam'>child</span> <span class='op'>=</span> <span class='nam'>prev</span><span class='op'>.</span><span class='nam'>splitpath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t236' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>loc</span> <span class='op'>==</span> <span class='nam'>prev</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t237' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
+<p id='t238' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parts</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>child</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t239' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parts</span><span class='op'>.</span><span class='nam'>append</span><span class='op'>(</span><span class='nam'>loc</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t240' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>parts</span><span class='op'>.</span><span class='nam'>reverse</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t241' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>parts</span><span class='strut'>&nbsp;</span></p>
+<p id='t242' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t243' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>relpath</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t244' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return this path as a relative path,</span><span class='strut'>&nbsp;</span></p>
+<p id='t245' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; based from the current working directory.</span><span class='strut'>&nbsp;</span></p>
+<p id='t246' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t247' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>cwd</span> <span class='op'>=</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>getcwd</span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t248' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>cwd</span><span class='op'>.</span><span class='nam'>relpathto</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t249' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t250' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>relpathto</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>dest</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t251' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return a relative path from self to dest.</span><span class='strut'>&nbsp;</span></p>
+<p id='t252' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t253' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If there is no relative path from self to dest, for example if</span><span class='strut'>&nbsp;</span></p>
+<p id='t254' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; they reside on different drives in Windows, then this returns</span><span class='strut'>&nbsp;</span></p>
+<p id='t255' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; dest.abspath().</span><span class='strut'>&nbsp;</span></p>
+<p id='t256' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t257' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>origin</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>abspath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t258' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>dest</span> <span class='op'>=</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>dest</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>abspath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t259' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t260' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>orig_list</span> <span class='op'>=</span> <span class='nam'>origin</span><span class='op'>.</span><span class='nam'>normcase</span><span class='op'>(</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>splitall</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t261' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Don&#39;t normcase dest!&nbsp; We want to preserve the case.</span><span class='strut'>&nbsp;</span></p>
+<p id='t262' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>dest_list</span> <span class='op'>=</span> <span class='nam'>dest</span><span class='op'>.</span><span class='nam'>splitall</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t263' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t264' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>orig_list</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span> <span class='op'>!=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>normcase</span><span class='op'>(</span><span class='nam'>dest_list</span><span class='op'>[</span><span class='num'>0</span><span class='op'>]</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t265' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Can&#39;t get here from there.</span><span class='strut'>&nbsp;</span></p>
+<p id='t266' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>dest</span><span class='strut'>&nbsp;</span></p>
+<p id='t267' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t268' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Find the location where the two paths start to differ.</span><span class='strut'>&nbsp;</span></p>
+<p id='t269' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>i</span> <span class='op'>=</span> <span class='num'>0</span><span class='strut'>&nbsp;</span></p>
+<p id='t270' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>start_seg</span><span class='op'>,</span> <span class='nam'>dest_seg</span> <span class='key'>in</span> <span class='nam'>zip</span><span class='op'>(</span><span class='nam'>orig_list</span><span class='op'>,</span> <span class='nam'>dest_list</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t271' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>start_seg</span> <span class='op'>!=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>normcase</span><span class='op'>(</span><span class='nam'>dest_seg</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t272' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>break</span><span class='strut'>&nbsp;</span></p>
+<p id='t273' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>i</span> <span class='op'>+=</span> <span class='num'>1</span><span class='strut'>&nbsp;</span></p>
+<p id='t274' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t275' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Now i is the point where the two paths diverge.</span><span class='strut'>&nbsp;</span></p>
+<p id='t276' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Need a certain number of &quot;os.pardir&quot;s to work up</span><span class='strut'>&nbsp;</span></p>
+<p id='t277' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># from the origin to the point of divergence.</span><span class='strut'>&nbsp;</span></p>
+<p id='t278' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>segments</span> <span class='op'>=</span> <span class='op'>[</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>pardir</span><span class='op'>]</span> <span class='op'>*</span> <span class='op'>(</span><span class='nam'>len</span><span class='op'>(</span><span class='nam'>orig_list</span><span class='op'>)</span> <span class='op'>-</span> <span class='nam'>i</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t279' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Need to add the diverging part of dest_list.</span><span class='strut'>&nbsp;</span></p>
+<p id='t280' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>segments</span> <span class='op'>+=</span> <span class='nam'>dest_list</span><span class='op'>[</span><span class='nam'>i</span><span class='op'>:</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
+<p id='t281' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>len</span><span class='op'>(</span><span class='nam'>segments</span><span class='op'>)</span> <span class='op'>==</span> <span class='num'>0</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t282' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># If they happen to be identical, use os.curdir.</span><span class='strut'>&nbsp;</span></p>
+<p id='t283' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>curdir</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t284' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t285' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>join</span><span class='op'>(</span><span class='op'>*</span><span class='nam'>segments</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t286' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t287' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t288' class='pln'>&nbsp; &nbsp; <span class='com'># --- Listing, searching, walking, and matching</span><span class='strut'>&nbsp;</span></p>
+<p id='t289' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t290' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>listdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t291' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.listdir() -&gt; List of items in this directory.</span><span class='strut'>&nbsp;</span></p>
+<p id='t292' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t293' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Use D.files() or D.dirs() instead if you want a listing</span><span class='strut'>&nbsp;</span></p>
+<p id='t294' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; of just files or just subdirectories.</span><span class='strut'>&nbsp;</span></p>
+<p id='t295' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t296' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The elements of the list are path objects.</span><span class='strut'>&nbsp;</span></p>
+<p id='t297' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t298' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; With the optional &#39;pattern&#39; argument, this only lists</span><span class='strut'>&nbsp;</span></p>
+<p id='t299' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; items whose names match the given pattern.</span><span class='strut'>&nbsp;</span></p>
+<p id='t300' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t301' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>names</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>listdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t302' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>pattern</span> <span class='key'>is</span> <span class='key'>not</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t303' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>names</span> <span class='op'>=</span> <span class='nam'>fnmatch</span><span class='op'>.</span><span class='nam'>filter</span><span class='op'>(</span><span class='nam'>names</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t304' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>self</span> <span class='op'>/</span> <span class='nam'>child</span> <span class='key'>for</span> <span class='nam'>child</span> <span class='key'>in</span> <span class='nam'>names</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
+<p id='t305' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t306' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>dirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t307' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.dirs() -&gt; List of this directory&#39;s subdirectories.</span><span class='strut'>&nbsp;</span></p>
+<p id='t308' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t309' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The elements of the list are path objects.</span><span class='strut'>&nbsp;</span></p>
+<p id='t310' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This does not walk recursively into subdirectories</span><span class='strut'>&nbsp;</span></p>
+<p id='t311' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; (but see path.walkdirs).</span><span class='strut'>&nbsp;</span></p>
+<p id='t312' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t313' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; With the optional &#39;pattern&#39; argument, this only lists</span><span class='strut'>&nbsp;</span></p>
+<p id='t314' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; directories whose names match the given pattern.&nbsp; For</span><span class='strut'>&nbsp;</span></p>
+<p id='t315' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; example, d.dirs(&#39;build-*&#39;).</span><span class='strut'>&nbsp;</span></p>
+<p id='t316' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t317' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>p</span> <span class='key'>for</span> <span class='nam'>p</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>listdir</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span> <span class='key'>if</span> <span class='nam'>p</span><span class='op'>.</span><span class='nam'>isdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
+<p id='t318' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t319' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>files</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t320' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.files() -&gt; List of the files in this directory.</span><span class='strut'>&nbsp;</span></p>
+<p id='t321' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t322' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The elements of the list are path objects.</span><span class='strut'>&nbsp;</span></p>
+<p id='t323' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This does not walk into subdirectories (see path.walkfiles).</span><span class='strut'>&nbsp;</span></p>
+<p id='t324' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t325' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; With the optional &#39;pattern&#39; argument, this only lists files</span><span class='strut'>&nbsp;</span></p>
+<p id='t326' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; whose names match the given pattern.&nbsp; For example,</span><span class='strut'>&nbsp;</span></p>
+<p id='t327' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; d.files(&#39;*.pyc&#39;).</span><span class='strut'>&nbsp;</span></p>
+<p id='t328' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t329' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t330' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>[</span><span class='nam'>p</span> <span class='key'>for</span> <span class='nam'>p</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>listdir</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span> <span class='key'>if</span> <span class='nam'>p</span><span class='op'>.</span><span class='nam'>isfile</span><span class='op'>(</span><span class='op'>)</span><span class='op'>]</span><span class='strut'>&nbsp;</span></p>
+<p id='t331' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t332' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>walk</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t333' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.walk() -&gt; iterator over files and subdirs, recursively.</span><span class='strut'>&nbsp;</span></p>
+<p id='t334' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t335' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The iterator yields path objects naming each child item of</span><span class='strut'>&nbsp;</span></p>
+<p id='t336' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; this directory and its descendants.&nbsp; This requires that</span><span class='strut'>&nbsp;</span></p>
+<p id='t337' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; D.isdir().</span><span class='strut'>&nbsp;</span></p>
+<p id='t338' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t339' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This performs a depth-first traversal of the directory tree.</span><span class='strut'>&nbsp;</span></p>
+<p id='t340' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Each directory is returned just before all its children.</span><span class='strut'>&nbsp;</span></p>
+<p id='t341' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t342' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>child</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>listdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t343' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>pattern</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>fnmatch</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t344' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>child</span><span class='strut'>&nbsp;</span></p>
+<p id='t345' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>isdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t346' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>item</span> <span class='key'>in</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>walk</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t347' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>item</span><span class='strut'>&nbsp;</span></p>
+<p id='t348' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t349' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>walkdirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t350' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.walkdirs() -&gt; iterator over subdirs, recursively.</span><span class='strut'>&nbsp;</span></p>
+<p id='t351' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t352' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; With the optional &#39;pattern&#39; argument, this yields only</span><span class='strut'>&nbsp;</span></p>
+<p id='t353' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; directories whose names match the given pattern.&nbsp; For</span><span class='strut'>&nbsp;</span></p>
+<p id='t354' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; example, mydir.walkdirs(&#39;*test&#39;) yields only directories</span><span class='strut'>&nbsp;</span></p>
+<p id='t355' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; with names ending in &#39;test&#39;.</span><span class='strut'>&nbsp;</span></p>
+<p id='t356' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t357' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>child</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>dirs</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t358' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>pattern</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>fnmatch</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t359' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>child</span><span class='strut'>&nbsp;</span></p>
+<p id='t360' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>subsubdir</span> <span class='key'>in</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>walkdirs</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t361' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>subsubdir</span><span class='strut'>&nbsp;</span></p>
+<p id='t362' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t363' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>walkfiles</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t364' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; D.walkfiles() -&gt; iterator over files in D, recursively.</span><span class='strut'>&nbsp;</span></p>
+<p id='t365' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t366' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The optional argument, pattern, limits the results to files</span><span class='strut'>&nbsp;</span></p>
+<p id='t367' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; with names that match the pattern.&nbsp; For example,</span><span class='strut'>&nbsp;</span></p>
+<p id='t368' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; mydir.walkfiles(&#39;*.tmp&#39;) yields only files with the .tmp</span><span class='strut'>&nbsp;</span></p>
+<p id='t369' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; extension.</span><span class='strut'>&nbsp;</span></p>
+<p id='t370' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t371' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>child</span> <span class='key'>in</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>listdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t372' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>isfile</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t373' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>pattern</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>or</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>fnmatch</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t374' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>child</span><span class='strut'>&nbsp;</span></p>
+<p id='t375' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>elif</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>isdir</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t376' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>f</span> <span class='key'>in</span> <span class='nam'>child</span><span class='op'>.</span><span class='nam'>walkfiles</span><span class='op'>(</span><span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t377' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>yield</span> <span class='nam'>f</span><span class='strut'>&nbsp;</span></p>
+<p id='t378' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t379' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>fnmatch</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t380' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return True if self.name matches the given pattern.</span><span class='strut'>&nbsp;</span></p>
+<p id='t381' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t382' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; pattern - A filename pattern with wildcards,</span><span class='strut'>&nbsp;</span></p>
+<p id='t383' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for example &#39;*.py&#39;.</span><span class='strut'>&nbsp;</span></p>
+<p id='t384' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t385' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>fnmatch</span><span class='op'>.</span><span class='nam'>fnmatch</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>name</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t386' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t387' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>glob</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>pattern</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t388' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return a list of path objects that match the pattern.</span><span class='strut'>&nbsp;</span></p>
+<p id='t389' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t390' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; pattern - a path relative to this directory, with wildcards.</span><span class='strut'>&nbsp;</span></p>
+<p id='t391' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t392' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; For example, path(&#39;/users&#39;).glob(&#39;*/bin/*&#39;) returns a list</span><span class='strut'>&nbsp;</span></p>
+<p id='t393' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; of all the files users have in their bin directories.</span><span class='strut'>&nbsp;</span></p>
+<p id='t394' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t395' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>map</span><span class='op'>(</span><span class='nam'>path</span><span class='op'>,</span> <span class='nam'>glob</span><span class='op'>.</span><span class='nam'>glob</span><span class='op'>(</span><span class='nam'>_base</span><span class='op'>(</span><span class='nam'>self</span> <span class='op'>/</span> <span class='nam'>pattern</span><span class='op'>)</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t396' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t397' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t398' class='pln'>&nbsp; &nbsp; <span class='com'># --- Reading or writing an entire file at once.</span><span class='strut'>&nbsp;</span></p>
+<p id='t399' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t400' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>open</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>=</span><span class='str'>&#39;r&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t401' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open this file.&nbsp; Return a file object. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t402' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>file</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t403' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t404' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>bytes</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t405' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open this file, read all bytes, return them as a string. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t406' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='str'>&#39;rb&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t407' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t408' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>f</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t409' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t410' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t411' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t412' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>write_bytes</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>bytes</span><span class='op'>,</span> <span class='nam'>append</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t413' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open this file and write the given bytes to it.</span><span class='strut'>&nbsp;</span></p>
+<p id='t414' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t415' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Default behavior is to overwrite any existing file.</span><span class='strut'>&nbsp;</span></p>
+<p id='t416' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Call this with write_bytes(bytes, append=True) to append instead.</span><span class='strut'>&nbsp;</span></p>
+<p id='t417' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t418' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>append</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t419' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>=</span> <span class='str'>&#39;ab&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t420' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t421' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>=</span> <span class='str'>&#39;wb&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t422' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t423' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t424' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>bytes</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t425' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t426' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t427' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t428' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>text</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>=</span><span class='str'>&#39;strict&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t429' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open this file, read it in, return the content as a string.</span><span class='strut'>&nbsp;</span></p>
+<p id='t430' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t431' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This uses &#39;U&#39; mode in Python 2.3 and later, so &#39;\r\n&#39; and &#39;\r&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t432' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; are automatically translated to &#39;\n&#39;.</span><span class='strut'>&nbsp;</span></p>
+<p id='t433' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t434' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Optional arguments:</span><span class='strut'>&nbsp;</span></p>
+<p id='t435' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t436' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; encoding - The Unicode encoding (or character set) of</span><span class='strut'>&nbsp;</span></p>
+<p id='t437' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the file.&nbsp; If present, the content of the file is</span><span class='strut'>&nbsp;</span></p>
+<p id='t438' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; decoded and returned as a unicode object; otherwise</span><span class='strut'>&nbsp;</span></p>
+<p id='t439' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; it is returned as an 8-bit str.</span><span class='strut'>&nbsp;</span></p>
+<p id='t440' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; errors - How to handle Unicode errors; see help(str.decode)</span><span class='strut'>&nbsp;</span></p>
+<p id='t441' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for the options.&nbsp; Default is &#39;strict&#39;.</span><span class='strut'>&nbsp;</span></p>
+<p id='t442' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t443' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>encoding</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t444' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># 8-bit</span><span class='strut'>&nbsp;</span></p>
+<p id='t445' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>_textmode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t446' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t447' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>f</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t448' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t449' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t450' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t451' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># Unicode</span><span class='strut'>&nbsp;</span></p>
+<p id='t452' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>codecs</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='str'>&#39;r&#39;</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t453' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># (Note - Can&#39;t use &#39;U&#39; mode here, since codecs.open</span><span class='strut'>&nbsp;</span></p>
+<p id='t454' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='com'># doesn&#39;t support &#39;U&#39; mode, even in Python 2.3.)</span><span class='strut'>&nbsp;</span></p>
+<p id='t455' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t456' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>t</span> <span class='op'>=</span> <span class='nam'>f</span><span class='op'>.</span><span class='nam'>read</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t457' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t458' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t459' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>t</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>u&#39;\r\n&#39;</span><span class='op'>,</span> <span class='str'>u&#39;\n&#39;</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>u&#39;\r&#39;</span><span class='op'>,</span> <span class='str'>u&#39;\n&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t460' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t461' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>write_text</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>text</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>=</span><span class='str'>&#39;strict&#39;</span><span class='op'>,</span> <span class='nam'>append</span><span class='op'>=</span><span class='nam'>False</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t462' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Write the given text to this file.</span><span class='strut'>&nbsp;</span></p>
+<p id='t463' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t464' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; The default behavior is to overwrite any existing file;</span><span class='strut'>&nbsp;</span></p>
+<p id='t465' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; to append instead, use the &#39;append=True&#39; keyword argument.</span><span class='strut'>&nbsp;</span></p>
+<p id='t466' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t467' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; There are two differences between path.write_text() and</span><span class='strut'>&nbsp;</span></p>
+<p id='t468' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; path.write_bytes(): Unicode handling and newline handling.</span><span class='strut'>&nbsp;</span></p>
+<p id='t469' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t470' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; --- Unicode</span><span class='strut'>&nbsp;</span></p>
+<p id='t471' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t472' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If &#39;text&#39; isn&#39;t Unicode, this essentially just does</span><span class='strut'>&nbsp;</span></p>
+<p id='t473' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; open(self, &#39;w&#39;).write(text).&nbsp; The &#39;encoding&#39; and &#39;errors&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t474' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; arguments are ignored.</span><span class='strut'>&nbsp;</span></p>
+<p id='t475' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t476' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If &#39;text&#39; is Unicode, it is first converted to bytes using the</span><span class='strut'>&nbsp;</span></p>
+<p id='t477' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; specified &#39;encoding&#39; (or the default encoding if &#39;encoding&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t478' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; isn&#39;t specified).&nbsp; The &#39;errors&#39; argument applies only to this</span><span class='strut'>&nbsp;</span></p>
+<p id='t479' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; conversion.</span><span class='strut'>&nbsp;</span></p>
+<p id='t480' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t481' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; --- Newlines</span><span class='strut'>&nbsp;</span></p>
+<p id='t482' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t483' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; write_text() converts from programmer-friendly newlines</span><span class='strut'>&nbsp;</span></p>
+<p id='t484' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; (always &#39;\n&#39;) to platform-specific newlines (see os.linesep;</span><span class='strut'>&nbsp;</span></p>
+<p id='t485' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; on Windows, for example, the end-of-line marker is &#39;\r\n&#39;).</span><span class='strut'>&nbsp;</span></p>
+<p id='t486' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This applies to Unicode text the same as to 8-bit text.</span><span class='strut'>&nbsp;</span></p>
+<p id='t487' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t488' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Because of this conversion, the text should only contain plain</span><span class='strut'>&nbsp;</span></p>
+<p id='t489' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; newlines (&#39;\n&#39;), just like the return value of path.text().</span><span class='strut'>&nbsp;</span></p>
+<p id='t490' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; If the text contains the characters &#39;\r\n&#39;, it may be written</span><span class='strut'>&nbsp;</span></p>
+<p id='t491' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; as &#39;\r\r\n&#39; or &#39;\r\r&#39; depending on your platform.&nbsp; (This is</span><span class='strut'>&nbsp;</span></p>
+<p id='t492' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; exactly the same as when you open a file for writing with</span><span class='strut'>&nbsp;</span></p>
+<p id='t493' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; fopen(filename, &quot;w&quot;) in C or file(filename, &#39;w&#39;) in Python.)</span><span class='strut'>&nbsp;</span></p>
+<p id='t494' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t495' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>text</span><span class='op'>,</span> <span class='nam'>unicode</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t496' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>text</span> <span class='op'>=</span> <span class='nam'>text</span><span class='op'>.</span><span class='nam'>replace</span><span class='op'>(</span><span class='str'>u&#39;\n&#39;</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>linesep</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t497' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>encoding</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t498' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>encoding</span> <span class='op'>=</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>getdefaultencoding</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t499' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>bytes</span> <span class='op'>=</span> <span class='nam'>text</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='nam'>encoding</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t500' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>self</span><span class='op'>.</span><span class='nam'>write_bytes</span><span class='op'>(</span><span class='nam'>bytes</span><span class='op'>,</span> <span class='nam'>append</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t501' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t502' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>append</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t503' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>=</span> <span class='str'>&#39;a&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t504' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t505' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>mode</span> <span class='op'>=</span> <span class='str'>&#39;w&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t506' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t507' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t508' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>text</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t509' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t510' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t511' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t512' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>lines</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>=</span><span class='str'>&#39;strict&#39;</span><span class='op'>,</span> <span class='nam'>retain</span><span class='op'>=</span><span class='nam'>True</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t513' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Open this file, read all lines, return them in a list.</span><span class='strut'>&nbsp;</span></p>
+<p id='t514' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t515' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Optional arguments:</span><span class='strut'>&nbsp;</span></p>
+<p id='t516' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; encoding - The Unicode encoding (or character set) of</span><span class='strut'>&nbsp;</span></p>
+<p id='t517' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the file.&nbsp; The default is None, meaning the content</span><span class='strut'>&nbsp;</span></p>
+<p id='t518' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; of the file is read as 8-bit characters and returned</span><span class='strut'>&nbsp;</span></p>
+<p id='t519' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; as a list of (non-Unicode) str objects.</span><span class='strut'>&nbsp;</span></p>
+<p id='t520' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; errors - How to handle Unicode errors; see help(str.decode)</span><span class='strut'>&nbsp;</span></p>
+<p id='t521' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for the options.&nbsp; Default is &#39;strict&#39;</span><span class='strut'>&nbsp;</span></p>
+<p id='t522' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; retain - If true, retain newline characters; but all newline</span><span class='strut'>&nbsp;</span></p>
+<p id='t523' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; character combinations (&#39;\r&#39;, &#39;\n&#39;, &#39;\r\n&#39;) are</span><span class='strut'>&nbsp;</span></p>
+<p id='t524' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; translated to &#39;\n&#39;.&nbsp; If false, newline characters are</span><span class='strut'>&nbsp;</span></p>
+<p id='t525' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stripped off.&nbsp; Default is True.</span><span class='strut'>&nbsp;</span></p>
+<p id='t526' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t527' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; This uses &#39;U&#39; mode in Python 2.3 and later.</span><span class='strut'>&nbsp;</span></p>
+<p id='t528' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t529' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>encoding</span> <span class='key'>is</span> <span class='nam'>None</span> <span class='key'>and</span> <span class='nam'>retain</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t530' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>_textmode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t531' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t532' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>f</span><span class='op'>.</span><span class='nam'>readlines</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t533' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t534' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t535' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t536' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>text</span><span class='op'>(</span><span class='nam'>encoding</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>splitlines</span><span class='op'>(</span><span class='nam'>retain</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t537' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t538' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>write_lines</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>lines</span><span class='op'>,</span> <span class='nam'>encoding</span><span class='op'>=</span><span class='nam'>None</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>=</span><span class='str'>&#39;strict&#39;</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
+<p id='t539' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>linesep</span><span class='op'>=</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>linesep</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t540' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Overwrite this file with the given lines of text.</span><span class='strut'>&nbsp;</span></p>
+<p id='t541' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t542' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; lines - A list of strings.</span><span class='strut'>&nbsp;</span></p>
+<p id='t543' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; encoding - A Unicode encoding to use.&nbsp; This applies only if</span><span class='strut'>&nbsp;</span></p>
+<p id='t544' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#39;lines&#39; contains any Unicode strings.</span><span class='strut'>&nbsp;</span></p>
+<p id='t545' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; errors - How to handle errors in Unicode encoding.&nbsp; This</span><span class='strut'>&nbsp;</span></p>
+<p id='t546' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; also applies only to Unicode strings.</span><span class='strut'>&nbsp;</span></p>
+<p id='t547' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; linesep - A character sequence that will be added at the</span><span class='strut'>&nbsp;</span></p>
+<p id='t548' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; end of every line that doesn&#39;t already have it.</span><span class='strut'>&nbsp;</span></p>
+<p id='t549' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t550' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='str'>&#39;wb&#39;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t551' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>try</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t552' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>for</span> <span class='nam'>line</span> <span class='key'>in</span> <span class='nam'>lines</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t553' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='key'>not</span> <span class='nam'>line</span><span class='op'>.</span><span class='nam'>endswith</span><span class='op'>(</span><span class='nam'>linesep</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t554' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>line</span> <span class='op'>+=</span> <span class='nam'>linesep</span><span class='strut'>&nbsp;</span></p>
+<p id='t555' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>isinstance</span><span class='op'>(</span><span class='nam'>line</span><span class='op'>,</span> <span class='nam'>unicode</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t556' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>encoding</span> <span class='key'>is</span> <span class='nam'>None</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t557' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>encoding</span> <span class='op'>=</span> <span class='nam'>sys</span><span class='op'>.</span><span class='nam'>getdefaultencoding</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t558' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>line</span> <span class='op'>=</span> <span class='nam'>line</span><span class='op'>.</span><span class='nam'>encode</span><span class='op'>(</span><span class='nam'>encoding</span><span class='op'>,</span> <span class='nam'>errors</span><span class='op'>=</span><span class='nam'>errors</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t559' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>write</span><span class='op'>(</span><span class='nam'>line</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t560' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>finally</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t561' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>f</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t562' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t563' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t564' class='pln'>&nbsp; &nbsp; <span class='com'># --- Methods for querying the filesystem.</span><span class='strut'>&nbsp;</span></p>
+<p id='t565' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t566' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>exists</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>exists</span><span class='strut'>&nbsp;</span></p>
+<p id='t567' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>isabs</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>isabs</span><span class='strut'>&nbsp;</span></p>
+<p id='t568' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>isdir</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>isdir</span><span class='strut'>&nbsp;</span></p>
+<p id='t569' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>isfile</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>isfile</span><span class='strut'>&nbsp;</span></p>
+<p id='t570' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>islink</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>islink</span><span class='strut'>&nbsp;</span></p>
+<p id='t571' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>ismount</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>ismount</span><span class='strut'>&nbsp;</span></p>
+<p id='t572' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t573' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>574</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>,</span> <span class='str'>&#39;samefile&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t574' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>samefile</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>samefile</span><span class='strut'>&nbsp;</span></p>
+<p id='t575' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t576' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>getatime</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>getatime</span><span class='strut'>&nbsp;</span></p>
+<p id='t577' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>atime</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
+<p id='t578' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getatime</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
+<p id='t579' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Last access time of the file. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t580' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t581' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>getmtime</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>getmtime</span><span class='strut'>&nbsp;</span></p>
+<p id='t582' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>mtime</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
+<p id='t583' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getmtime</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
+<p id='t584' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Last-modified time of the file. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t585' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t586' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>592</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>,</span> <span class='str'>&#39;getctime&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t587' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getctime</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>getctime</span><span class='strut'>&nbsp;</span></p>
+<p id='t588' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>ctime</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
+<p id='t589' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getctime</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
+<p id='t590' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Creation time of the file. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t591' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t592' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>getsize</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>path</span><span class='op'>.</span><span class='nam'>getsize</span><span class='strut'>&nbsp;</span></p>
+<p id='t593' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>size</span> <span class='op'>=</span> <span class='nam'>property</span><span class='op'>(</span><span class='strut'>&nbsp;</span></p>
+<p id='t594' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>getsize</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>,</span><span class='strut'>&nbsp;</span></p>
+<p id='t595' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Size of the file, in bytes. &quot;&quot;&quot;</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t596' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t597' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>605</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;access&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t598' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>access</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t599' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return true if current user has access to this path.</span><span class='strut'>&nbsp;</span></p>
+<p id='t600' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t601' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mode - One of the constants os.F_OK, os.R_OK, os.W_OK, os.X_OK</span><span class='strut'>&nbsp;</span></p>
+<p id='t602' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t603' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>access</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t604' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t605' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>stat</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t606' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Perform a stat() system call on this path. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t607' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>stat</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t608' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t609' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>lstat</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t610' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Like path.stat(), but do not follow symbolic links. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t611' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>lstat</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t612' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t613' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>614</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;statvfs&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t614' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>statvfs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t615' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Perform a statvfs() system call on this path. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t616' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>statvfs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t617' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t618' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>619</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;pathconf&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t619' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>pathconf</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t620' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>pathconf</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>name</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t621' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t622' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t623' class='pln'>&nbsp; &nbsp; <span class='com'># --- Modifying operations on files and directories</span><span class='strut'>&nbsp;</span></p>
+<p id='t624' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t625' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>utime</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>times</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t626' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Set the access and modified times of this file. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t627' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>utime</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>times</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t628' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t629' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>chmod</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t630' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>chmod</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t631' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t632' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>633</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;chown&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t633' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>chown</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>uid</span><span class='op'>,</span> <span class='nam'>gid</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t634' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>chown</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>uid</span><span class='op'>,</span> <span class='nam'>gid</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t635' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t636' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>rename</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>new</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t637' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>rename</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>new</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t638' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t639' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>renames</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>new</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t640' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>renames</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>new</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t641' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t642' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t643' class='pln'>&nbsp; &nbsp; <span class='com'># --- Create/delete operations on directories</span><span class='strut'>&nbsp;</span></p>
+<p id='t644' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t645' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>mkdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>=</span><span class='num'>0777</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t646' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>mkdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t647' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t648' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>makedirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>=</span><span class='num'>0777</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t649' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>makedirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>mode</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t650' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t651' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>rmdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t652' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>rmdir</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t653' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t654' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>removedirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t655' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>removedirs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t656' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t657' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t658' class='pln'>&nbsp; &nbsp; <span class='com'># --- Modifying operations on files</span><span class='strut'>&nbsp;</span></p>
+<p id='t659' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t660' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>touch</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t661' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Set the access/modified times of this file to the current time.</span><span class='strut'>&nbsp;</span></p>
+<p id='t662' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; Create the file if it does not exist.</span><span class='strut'>&nbsp;</span></p>
+<p id='t663' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t664' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>fd</span> <span class='op'>=</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>open</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>O_WRONLY</span> <span class='op'>|</span> <span class='nam'>os</span><span class='op'>.</span><span class='nam'>O_CREAT</span><span class='op'>,</span> <span class='num'>0666</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t665' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>close</span><span class='op'>(</span><span class='nam'>fd</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t666' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>utime</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>None</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t667' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t668' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>remove</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t669' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>remove</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t670' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t671' class='stm run hide_run'>&nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>unlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t672' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>unlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t673' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t674' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t675' class='pln'>&nbsp; &nbsp; <span class='com'># --- Links</span><span class='strut'>&nbsp;</span></p>
+<p id='t676' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t677' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>678</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;link&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t678' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>link</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>newpath</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t679' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Create a hard link at &#39;newpath&#39;, pointing to this file. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t680' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>link</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>newpath</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t681' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t682' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>683</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;symlink&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t683' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>symlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>newlink</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t684' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Create a symbolic link at &#39;newlink&#39;, pointing here. &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t685' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>symlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>,</span> <span class='nam'>newlink</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t686' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t687' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>688</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;readlink&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t688' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>readlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t689' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return the path to which this symbolic link points.</span><span class='strut'>&nbsp;</span></p>
+<p id='t690' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t691' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; The result may be an absolute or a relative path.</span><span class='strut'>&nbsp;</span></p>
+<p id='t692' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t693' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>path</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>.</span><span class='nam'>readlink</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t694' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t695' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>readlinkabs</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t696' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='str'>&quot;&quot;&quot; Return the path to which this symbolic link points.</span><span class='strut'>&nbsp;</span></p>
+<p id='t697' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t698' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; The result is always an absolute path.</span><span class='strut'>&nbsp;</span></p>
+<p id='t699' class='pln'><span class='str'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class='strut'>&nbsp;</span></p>
+<p id='t700' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>p</span> <span class='op'>=</span> <span class='nam'>self</span><span class='op'>.</span><span class='nam'>readlink</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t701' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>p</span><span class='op'>.</span><span class='nam'>isabs</span><span class='op'>(</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t702' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='nam'>p</span><span class='strut'>&nbsp;</span></p>
+<p id='t703' class='pln'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>else</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t704' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>return</span> <span class='op'>(</span><span class='nam'>self</span><span class='op'>.</span><span class='nam'>parent</span> <span class='op'>/</span> <span class='nam'>p</span><span class='op'>)</span><span class='op'>.</span><span class='nam'>abspath</span><span class='op'>(</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t705' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t706' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t707' class='pln'>&nbsp; &nbsp; <span class='com'># --- High-level functions from shutil</span><span class='strut'>&nbsp;</span></p>
+<p id='t708' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t709' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copyfile</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copyfile</span><span class='strut'>&nbsp;</span></p>
+<p id='t710' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copymode</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copymode</span><span class='strut'>&nbsp;</span></p>
+<p id='t711' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copystat</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copystat</span><span class='strut'>&nbsp;</span></p>
+<p id='t712' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copy</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copy</span><span class='strut'>&nbsp;</span></p>
+<p id='t713' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copy2</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copy2</span><span class='strut'>&nbsp;</span></p>
+<p id='t714' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>copytree</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>copytree</span><span class='strut'>&nbsp;</span></p>
+<p id='t715' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>717</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>shutil</span><span class='op'>,</span> <span class='str'>&#39;move&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t716' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>move</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>move</span><span class='strut'>&nbsp;</span></p>
+<p id='t717' class='stm run hide_run'>&nbsp; &nbsp; <span class='nam'>rmtree</span> <span class='op'>=</span> <span class='nam'>shutil</span><span class='op'>.</span><span class='nam'>rmtree</span><span class='strut'>&nbsp;</span></p>
+<p id='t718' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t719' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t720' class='pln'>&nbsp; &nbsp; <span class='com'># --- Special stuff from os</span><span class='strut'>&nbsp;</span></p>
+<p id='t721' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t722' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>723</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;chroot&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t723' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>chroot</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t724' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>chroot</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t725' class='pln'><span class='strut'>&nbsp;</span></p>
+<p id='t726' class='stm par run hide_run'><span class='annotate' title='no jump to this line number'>exit</span>&nbsp; &nbsp; <span class='key'>if</span> <span class='nam'>hasattr</span><span class='op'>(</span><span class='nam'>os</span><span class='op'>,</span> <span class='str'>&#39;startfile&#39;</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t727' class='stm run hide_run'>&nbsp; &nbsp; &nbsp; &nbsp; <span class='key'>def</span> <span class='nam'>startfile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='op'>:</span><span class='strut'>&nbsp;</span></p>
+<p id='t728' class='stm mis'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class='nam'>os</span><span class='op'>.</span><span class='nam'>startfile</span><span class='op'>(</span><span class='nam'>self</span><span class='op'>)</span><span class='strut'>&nbsp;</span></p>
+<p id='t729' class='pln'><span class='strut'>&nbsp;</span></p>
+
+ </td>
+ </tr>
+ </table>
</div>
</body>