Skip to content

Commit 5766c53

Browse files
committed
Working on path
1 parent 0b64674 commit 5766c53

File tree

3 files changed

+67
-63
lines changed

3 files changed

+67
-63
lines changed

README.md

Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1576,8 +1576,8 @@ from glob import glob
15761576
```
15771577

15781578
```python
1579-
<list> = listdir('<path>') # List of filenames located at path.
1580-
<list> = glob('<pattern>') # Filenames matching the wildcard pattern.
1579+
<list> = listdir('<path>') # Returns filenames located at path.
1580+
<list> = glob('<pattern>') # Returns paths matching the wildcard pattern.
15811581
```
15821582

15831583
### Pathlib
@@ -1586,36 +1586,59 @@ from pathlib import Path
15861586
```
15871587

15881588
```python
1589-
cwd = Path()
15901589
<Path> = Path('<path>' [, '<path>', <Path>, ...])
15911590
<Path> = <Path> / '<dir>' / '<file>'
15921591
```
15931592

1593+
```python
1594+
<Path> = Path() # Or: Path('.')
1595+
<Path> = <Path>.resolve() # Returns absolute Path without symlinks.
1596+
<Path> = <Path>.parent # Returns path without final component.
1597+
```
1598+
15941599
```python
15951600
<bool> = <Path>.exists()
15961601
<bool> = <Path>.is_file()
15971602
<bool> = <Path>.is_dir()
15981603
```
15991604

16001605
```python
1601-
<iter> = <Path>.iterdir() # Returns dir contents as Path objects.
1602-
<iter> = <Path>.glob('<pattern>') # Returns Paths matching the wildcard pattern.
1606+
<iter> = <Path>.iterdir() # Returns dir contents as relative (not true) Path objects.
1607+
<iter> = <Path>.glob('<pattern>') # Returns relative Paths matching the wildcard pattern.
16031608
```
16041609

16051610
```python
1606-
<str> = str(<Path>) # Path as a string.
1607-
<str> = <Path>.name # Final component.
1608-
<str> = <Path>.stem # Final component without extension.
1609-
<str> = <Path>.suffix # Final component's extension.
1610-
<tup.> = <Path>.parts # All components as strings.
1611+
<str> = str(<Path>) # Returns Path as a string.
1612+
<str> = <Path>.name # Returns final component.
1613+
<str> = <Path>.stem # Returns final component without extension.
1614+
<str> = <Path>.suffix # Returns final component's extension.
1615+
<tup.> = <Path>.parts # Returns all components as strings.
16111616
```
16121617

16131618
```python
1614-
<Path> = <Path>.resolve() # Returns absolute path without symlinks.
1615-
<Path> = <Path>.parent # Returns path without final component.
16161619
<file> = open(<Path>) # Opens the file and returns a file object.
16171620
```
16181621

1622+
### DirEntry
1623+
```python
1624+
<iter> = os.scandir(path='.') # Returns DirEntry objects located at path.
1625+
```
1626+
1627+
```python
1628+
<bool> = <DirEntry>.is_file()
1629+
<bool> = <DirEntry>.is_dir()
1630+
```
1631+
1632+
```python
1633+
<str> = <DirEntry>.path # Returns relative path as a string.
1634+
<str> = <DirEntry>.name # Returns final component.
1635+
```
1636+
1637+
```python
1638+
<Path> = Path(<DirEntry>) # Returns relative Path object.
1639+
<file> = open(<DirEntry>) # Opens the file and returns a file object.
1640+
```
1641+
16191642

16201643
OS Commands
16211644
-----------
@@ -1634,7 +1657,7 @@ os.mkdir(<path>, mode=0o777) # Creates a directory. Mode is in octal.
16341657

16351658
```python
16361659
shutil.copy(from, to) # Copies the file.
1637-
shutil.copytree(from, to) # Copies the entire directory tree.
1660+
shutil.copytree(from, to) # Copies the directory.
16381661
```
16391662

16401663
```python
@@ -1645,27 +1668,7 @@ os.replace(from, to) # Same, but overwrites 'to' if it exists.
16451668
```python
16461669
os.remove(<path>) # Deletes the file.
16471670
os.rmdir(<path>) # Deletes empty directory.
1648-
shutil.rmtree(<path>) # Deletes the entire directory tree.
1649-
```
1650-
1651-
```python
1652-
<iter> = os.scandir(path='.') # Returns os.DirEntry objects located at path.
1653-
```
1654-
1655-
#### DirEntry:
1656-
```python
1657-
<bool> = <DirEntry>.is_file()
1658-
<bool> = <DirEntry>.is_dir()
1659-
```
1660-
1661-
```python
1662-
<str> = <DirEntry>.path # Path as a string.
1663-
<str> = <DirEntry>.name # Final component.
1664-
```
1665-
1666-
```python
1667-
<Path> = Path(<DirEntry>) # Path object.
1668-
<file> = open(<DirEntry>) # File object.
1671+
shutil.rmtree(<path>) # Deletes non-empty directory.
16691672
```
16701673

16711674
### Shell Commands

index.html

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1453,32 +1453,45 @@
14531453
&lt;bool&gt; = path.isfile(<span class="hljs-string">'&lt;path&gt;'</span>)
14541454
&lt;bool&gt; = path.isdir(<span class="hljs-string">'&lt;path&gt;'</span>)
14551455
</code></pre>
1456-
<pre><code class="python language-python hljs">&lt;list&gt; = listdir(<span class="hljs-string">'&lt;path&gt;'</span>) <span class="hljs-comment"># List of filenames located at path.</span>
1457-
&lt;list&gt; = glob(<span class="hljs-string">'&lt;pattern&gt;'</span>) <span class="hljs-comment"># Filenames matching the wildcard pattern.</span>
1456+
<pre><code class="python language-python hljs">&lt;list&gt; = listdir(<span class="hljs-string">'&lt;path&gt;'</span>) <span class="hljs-comment"># Returns filenames located at path.</span>
1457+
&lt;list&gt; = glob(<span class="hljs-string">'&lt;pattern&gt;'</span>) <span class="hljs-comment"># Returns paths matching the wildcard pattern.</span>
14581458
</code></pre>
14591459
<div><h3 id="pathlib">Pathlib</h3><pre><code class="python language-python hljs"><span class="hljs-keyword">from</span> pathlib <span class="hljs-keyword">import</span> Path
14601460
</code></pre></div>
14611461

1462-
<pre><code class="python language-python hljs">cwd = Path()
1463-
&lt;Path&gt; = Path(<span class="hljs-string">'&lt;path&gt;'</span> [, <span class="hljs-string">'&lt;path&gt;'</span>, &lt;Path&gt;, ...])
1462+
<pre><code class="python language-python hljs">&lt;Path&gt; = Path(<span class="hljs-string">'&lt;path&gt;'</span> [, <span class="hljs-string">'&lt;path&gt;'</span>, &lt;Path&gt;, ...])
14641463
&lt;Path&gt; = &lt;Path&gt; / <span class="hljs-string">'&lt;dir&gt;'</span> / <span class="hljs-string">'&lt;file&gt;'</span>
14651464
</code></pre>
1465+
<pre><code class="python language-python hljs">&lt;Path&gt; = Path() <span class="hljs-comment"># Or: Path('.')</span>
1466+
&lt;Path&gt; = &lt;Path&gt;.resolve() <span class="hljs-comment"># Returns absolute Path without symlinks.</span>
1467+
&lt;Path&gt; = &lt;Path&gt;.parent <span class="hljs-comment"># Returns path without final component.</span>
1468+
</code></pre>
14661469
<pre><code class="python language-python hljs">&lt;bool&gt; = &lt;Path&gt;.exists()
14671470
&lt;bool&gt; = &lt;Path&gt;.is_file()
14681471
&lt;bool&gt; = &lt;Path&gt;.is_dir()
14691472
</code></pre>
1470-
<pre><code class="python language-python hljs">&lt;iter&gt; = &lt;Path&gt;.iterdir() <span class="hljs-comment"># Returns dir contents as Path objects.</span>
1471-
&lt;iter&gt; = &lt;Path&gt;.glob(<span class="hljs-string">'&lt;pattern&gt;'</span>) <span class="hljs-comment"># Returns Paths matching the wildcard pattern.</span>
1473+
<pre><code class="python language-python hljs">&lt;iter&gt; = &lt;Path&gt;.iterdir() <span class="hljs-comment"># Returns dir contents as relative (not true) Path objects.</span>
1474+
&lt;iter&gt; = &lt;Path&gt;.glob(<span class="hljs-string">'&lt;pattern&gt;'</span>) <span class="hljs-comment"># Returns relative Paths matching the wildcard pattern.</span>
14721475
</code></pre>
1473-
<pre><code class="python language-python hljs">&lt;str&gt; = str(&lt;Path&gt;) <span class="hljs-comment"># Path as a string.</span>
1474-
&lt;str&gt; = &lt;Path&gt;.name <span class="hljs-comment"># Final component.</span>
1475-
&lt;str&gt; = &lt;Path&gt;.stem <span class="hljs-comment"># Final component without extension.</span>
1476-
&lt;str&gt; = &lt;Path&gt;.suffix <span class="hljs-comment"># Final component's extension.</span>
1477-
&lt;tup.&gt; = &lt;Path&gt;.parts <span class="hljs-comment"># All components as strings.</span>
1476+
<pre><code class="python language-python hljs">&lt;str&gt; = str(&lt;Path&gt;) <span class="hljs-comment"># Returns Path as a string.</span>
1477+
&lt;str&gt; = &lt;Path&gt;.name <span class="hljs-comment"># Returns final component.</span>
1478+
&lt;str&gt; = &lt;Path&gt;.stem <span class="hljs-comment"># Returns final component without extension.</span>
1479+
&lt;str&gt; = &lt;Path&gt;.suffix <span class="hljs-comment"># Returns final component's extension.</span>
1480+
&lt;tup.&gt; = &lt;Path&gt;.parts <span class="hljs-comment"># Returns all components as strings.</span>
14781481
</code></pre>
1479-
<pre><code class="python language-python hljs">&lt;Path&gt; = &lt;Path&gt;.resolve() <span class="hljs-comment"># Returns absolute path without symlinks.</span>
1480-
&lt;Path&gt; = &lt;Path&gt;.parent <span class="hljs-comment"># Returns path without final component.</span>
1481-
&lt;file&gt; = open(&lt;Path&gt;) <span class="hljs-comment"># Opens the file and returns a file object.</span>
1482+
<pre><code class="python language-python hljs">&lt;file&gt; = open(&lt;Path&gt;) <span class="hljs-comment"># Opens the file and returns a file object.</span>
1483+
</code></pre>
1484+
<div><h3 id="direntry">DirEntry</h3><pre><code class="python language-python hljs">&lt;iter&gt; = os.scandir(path=<span class="hljs-string">'.'</span>) <span class="hljs-comment"># Returns DirEntry objects located at path.</span>
1485+
</code></pre></div>
1486+
1487+
<pre><code class="python language-python hljs">&lt;bool&gt; = &lt;DirEntry&gt;.is_file()
1488+
&lt;bool&gt; = &lt;DirEntry&gt;.is_dir()
1489+
</code></pre>
1490+
<pre><code class="python language-python hljs">&lt;str&gt; = &lt;DirEntry&gt;.path <span class="hljs-comment"># Returns relative path as a string.</span>
1491+
&lt;str&gt; = &lt;DirEntry&gt;.name <span class="hljs-comment"># Returns final component.</span>
1492+
</code></pre>
1493+
<pre><code class="python language-python hljs">&lt;Path&gt; = Path(&lt;DirEntry&gt;) <span class="hljs-comment"># Returns relative Path object.</span>
1494+
&lt;file&gt; = open(&lt;DirEntry&gt;) <span class="hljs-comment"># Opens the file and returns a file object.</span>
14821495
</code></pre>
14831496
<div><h2 id="oscommands"><a href="#oscommands" name="oscommands">#</a>OS Commands</h2><div><h3 id="filesanddirectories">Files and Directories</h3><ul>
14841497
<li><strong>Paths can be either strings, Paths, or DirEntry objects.</strong></li>
@@ -1492,26 +1505,14 @@
14921505
os.mkdir(&lt;path&gt;, mode=<span class="hljs-number">0o777</span>) <span class="hljs-comment"># Creates a directory. Mode is in octal.</span>
14931506
</code></pre>
14941507
<pre><code class="python language-python hljs">shutil.copy(from, to) <span class="hljs-comment"># Copies the file.</span>
1495-
shutil.copytree(from, to) <span class="hljs-comment"># Copies the entire directory tree.</span>
1508+
shutil.copytree(from, to) <span class="hljs-comment"># Copies the directory.</span>
14961509
</code></pre>
14971510
<pre><code class="python language-python hljs">os.rename(from, to) <span class="hljs-comment"># Renames the file or directory.</span>
14981511
os.replace(from, to) <span class="hljs-comment"># Same, but overwrites 'to' if it exists.</span>
14991512
</code></pre>
15001513
<pre><code class="python language-python hljs">os.remove(&lt;path&gt;) <span class="hljs-comment"># Deletes the file.</span>
15011514
os.rmdir(&lt;path&gt;) <span class="hljs-comment"># Deletes empty directory.</span>
1502-
shutil.rmtree(&lt;path&gt;) <span class="hljs-comment"># Deletes the entire directory tree.</span>
1503-
</code></pre>
1504-
<pre><code class="python language-python hljs">&lt;iter&gt; = os.scandir(path=<span class="hljs-string">'.'</span>) <span class="hljs-comment"># Returns os.DirEntry objects located at path.</span>
1505-
</code></pre>
1506-
<div><h4 id="direntry">DirEntry:</h4><pre><code class="python language-python hljs">&lt;bool&gt; = &lt;DirEntry&gt;.is_file()
1507-
&lt;bool&gt; = &lt;DirEntry&gt;.is_dir()
1508-
</code></pre></div>
1509-
1510-
<pre><code class="python language-python hljs">&lt;str&gt; = &lt;DirEntry&gt;.path <span class="hljs-comment"># Path as a string.</span>
1511-
&lt;str&gt; = &lt;DirEntry&gt;.name <span class="hljs-comment"># Final component.</span>
1512-
</code></pre>
1513-
<pre><code class="python language-python hljs">&lt;Path&gt; = Path(&lt;DirEntry&gt;) <span class="hljs-comment"># Path object.</span>
1514-
&lt;file&gt; = open(&lt;DirEntry&gt;) <span class="hljs-comment"># File object.</span>
1515+
shutil.rmtree(&lt;path&gt;) <span class="hljs-comment"># Deletes non-empty directory.</span>
15151516
</code></pre>
15161517
<div><h3 id="shellcommands">Shell Commands</h3><pre><code class="python language-python hljs"><span class="hljs-keyword">import</span> os
15171518
&lt;str&gt; = os.popen(<span class="hljs-string">'&lt;shell_command&gt;'</span>).read()

parse.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ const OS_RENAME =
3636

3737
const SHUTIL_COPY =
3838
'shutil.copy(from, to) <span class="hljs-comment"># Copies the file.</span>\n' +
39-
'shutil.copytree(from, to) <span class="hljs-comment"># Copies the entire directory tree.</span>\n';
39+
'shutil.copytree(from, to) <span class="hljs-comment"># Copies the directory.</span>\n';
4040

4141
const EVAL =
4242
'<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">from</span> ast <span class="hljs-keyword">import</span> literal_eval\n' +

0 commit comments

Comments
 (0)