Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

kwmsmith/pythonpy

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Installation

sudo pip install pythonpy && alias py='pythonpy'

For a permanent alias (For Bash users):

echo "alias py='pythonpy'" >> ~/.bashrc

Arithmetic

$ py '24 * 60 ** 2'
86400

Floating point

$ py '1.0/98'
0.010204081632

Number sequence

$ py 'range(3)'
0
1
2

List comprehensions

$ py '[x**2 for x in range(1,5)]'
1
4
9
16

Math library usage

$ py 'math.exp(1)'
2.71828182846

Random library usage

$ py 'random.random()'
0.103173957713

Multiply each line of input by 7.

$ py 'range(3)' | py -x 'int(x)*7'
0
7
14

Append ".txt" to each line of input

$ py 'range(3)' | py -x 'x + ".txt"'
0.txt
1.txt
2.txt

Sometimes you want to treat the input as a python list

Reverse a list

$ py 'range(4)' | py -l 'sorted(l, reverse=True)'
3
2
1
0

Sum a list of numbers

$ py 'range(4)' | py -l 'sum(int(x) for x in l)'
6

Count the lines of input

$ py 'range(17)' | py -l 'len(l)'
17

Other times you just want to filter out lines from the input

Get only even numbers

$ py 'range(8)' | py -x 'x if int(x)%2 == 0 else None'
0
2
4
6

The shorthand -fx (filter on x) is also available

Get only odd numbers

$ py 'range(8)' | py -fx 'int(x)%2 == 1'
1
3
5
7

Get words starting with "and"

$ cat /usr/share/dict/words | py -fx 're.match(r"and", x)' | head -5
and
andante
andante's
andantes
andiron

Get verbs starting with ba

$ cat /usr/share/dict/words | py -fx 're.match(r"ba.*ing$", x)' | head -5
baaing
babbling
babying
babysitting
backbiting

Get long palindromes

$ cat /usr/share/dict/words | py -fx 'x==x[::-1] and len(x) >= 5' | head -5
civic
deified
kayak
level
ma'am

Ignore AttributeErrors if they pop up with (--i)

Get the local network ip

$ ifconfig | py -x --i 're.search(r"192\.168[\d\.]+", x).group()'
192.168.1.41

About

Command line utility for python

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.