Skip to content

Commit 03fe5e2

Browse files
committed
Command execution
1 parent d6caf1f commit 03fe5e2

File tree

2 files changed

+69
-6
lines changed

2 files changed

+69
-6
lines changed

README.md

Lines changed: 39 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ Numbers
479479
<complex> = complex(real=0, imag=0) # Or: <real> + <real>j
480480
<Fraction> = fractions.Fraction(numerator=0, denominator=1)
481481
```
482-
* **`'int(<str>)'` and `'float(<str>)'` raise ValueError on malformed strings.**
482+
* **`'int(<str>)'` and `'float(<str>)'` raise 'ValueError' on malformed strings.**
483483

484484
### Basic Functions
485485
```python
@@ -1583,12 +1583,48 @@ cwd = Path()
15831583

15841584
Command Execution
15851585
-----------------
1586+
### Files and Directories Commands
1587+
* **Paths can be either strings or Path objects.**
1588+
* **All exceptions are either 'OSError' or its subclasses.**
1589+
1590+
```python
1591+
import os
1592+
os.chdir(<path>) # Changes the current working directory.
1593+
<str> = os.getcwd() # Returns current working directory.
1594+
```
1595+
1596+
```python
1597+
os.remove(<path>) # Deletes the file.
1598+
os.rmdir(<path>) # Deletes empty directory.
1599+
shutil.rmtree(<path>) # Deletes an entire directory tree.
1600+
```
1601+
1602+
```python
1603+
os.rename(from, to) # Renames the file or directory.
1604+
os.replace(from, to) # Same, but overwrites 'to' if it exists.
1605+
```
1606+
1607+
```python
1608+
os.mkdir(<path>, mode=0o777) # Creates a directory.
1609+
<iter> = os.scandir(path='.') # Returns os.DirEntry objects located at path.
1610+
```
1611+
1612+
#### DirEntry:
1613+
```pyton
1614+
<str> = <DirEntry>.name
1615+
<str> = <DirEntry>.path
1616+
<bool> = <DirEntry>.is_file()
1617+
<bool> = <DirEntry>.is_dir()
1618+
<bool> = <DirEntry>.is_symlink()
1619+
```
1620+
1621+
### Shell Commands
15861622
```python
15871623
import os
1588-
<str> = os.popen(<command>).read()
1624+
<str> = os.popen('<shell_command>').read()
15891625
```
15901626

1591-
### Subprocess
1627+
#### Using subprocess:
15921628
```python
15931629
>>> import subprocess, shlex
15941630
>>> a = subprocess.run(shlex.split('ls -a'), stdout=subprocess.PIPE)

index.html

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,7 @@ <h2 id="numbers"><a href="#numbers" name="numbers">#</a>Numbers</h2>
547547
&lt;Fraction&gt; = fractions.Fraction(numerator=<span class="hljs-number">0</span>, denominator=<span class="hljs-number">1</span>)
548548
</code></pre>
549549
<ul>
550-
<li><strong><code class="python hljs"><span class="hljs-string">'int(&lt;str&gt;)'</span></code> and <code class="python hljs"><span class="hljs-string">'float(&lt;str&gt;)'</span></code> raise ValueError on malformed strings.</strong></li>
550+
<li><strong><code class="python hljs"><span class="hljs-string">'int(&lt;str&gt;)'</span></code> and <code class="python hljs"><span class="hljs-string">'float(&lt;str&gt;)'</span></code> raise 'ValueError' on malformed strings.</strong></li>
551551
</ul>
552552
<h3 id="basicfunctions">Basic Functions</h3>
553553
<pre><code class="python language-python hljs">&lt;num&gt; = pow(&lt;num&gt;, &lt;num&gt;) <span class="hljs-comment"># Or: &lt;num&gt; ** &lt;num&gt;</span>
@@ -1425,10 +1425,37 @@ <h3 id="pathlib">Pathlib</h3>
14251425
&lt;Path&gt; = &lt;Path&gt;.parent <span class="hljs-comment"># Path without final component.</span>
14261426
</code></pre>
14271427
<h2 id="commandexecution"><a href="#commandexecution" name="commandexecution">#</a>Command Execution</h2>
1428+
<h3 id="filesanddirectoriescommands">Files and Directories Commands</h3>
1429+
<ul>
1430+
<li><strong>Paths can be either strings or Path objects.</strong></li>
1431+
<li><strong>All exceptions are either 'OSError' or its subclasses.</strong></li>
1432+
</ul>
1433+
<pre><code class="python language-python hljs"><span class="hljs-keyword">import</span> os
1434+
os.chdir(&lt;path&gt;) <span class="hljs-comment"># Changes the current working directory.</span>
1435+
&lt;str&gt; = os.getcwd() <span class="hljs-comment"># Returns current working directory.</span>
1436+
</code></pre>
1437+
<pre><code class="python language-python hljs">os.remove(&lt;path&gt;) <span class="hljs-comment"># Deletes the file.</span>
1438+
os.rmdir(&lt;path&gt;) <span class="hljs-comment"># Deletes empty directory.</span>
1439+
shutil.rmtree(&lt;path&gt;) <span class="hljs-comment"># Deletes an entire directory tree.</span>
1440+
</code></pre>
1441+
<pre><code class="python language-python hljs">os.rename(<span class="hljs-keyword">from</span>, to) <span class="hljs-comment"># Renames the file or directory.</span>
1442+
os.replace(<span class="hljs-keyword">from</span>, to) <span class="hljs-comment"># Same, but overwrites 'to' if it exists.</span>
1443+
</code></pre>
1444+
<pre><code class="python language-python hljs">os.mkdir(&lt;path&gt;, mode=<span class="hljs-number">0o777</span>) <span class="hljs-comment"># Creates a directory.</span>
1445+
&lt;iter&gt; = os.scandir(path=<span class="hljs-string">'.'</span>) <span class="hljs-comment"># Returns os.DirEntry objects located at path.</span>
1446+
</code></pre>
1447+
<h4 id="direntry">DirEntry:</h4>
1448+
<pre><code class="pyton language-pyton python">&lt;str&gt; = &lt;DirEntry&gt;.name
1449+
&lt;str&gt; = &lt;DirEntry&gt;.path
1450+
&lt;bool&gt; = &lt;DirEntry&gt;.is_file()
1451+
&lt;bool&gt; = &lt;DirEntry&gt;.is_dir()
1452+
&lt;bool&gt; = &lt;DirEntry&gt;.is_symlink()
1453+
</code></pre>
1454+
<h3 id="shellcommands">Shell Commands</h3>
14281455
<pre><code class="python language-python hljs"><span class="hljs-keyword">import</span> os
1429-
&lt;str&gt; = os.popen(&lt;command&gt;).read()
1456+
&lt;str&gt; = os.popen(<span class="hljs-string">'&lt;shell_command&gt;'</span>).read()
14301457
</code></pre>
1431-
<h3 id="subprocess">Subprocess</h3>
1458+
<h4 id="usingsubprocess">Using subprocess:</h4>
14321459
<pre><code class="python language-python hljs"><span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">import</span> subprocess, shlex
14331460
<span class="hljs-meta">&gt;&gt;&gt; </span>a = subprocess.run(shlex.split(<span class="hljs-string">'ls -a'</span>), stdout=subprocess.PIPE)
14341461
<span class="hljs-meta">&gt;&gt;&gt; </span>a.stdout

0 commit comments

Comments
 (0)