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

wrightrocket/pythonpy

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

200 Commits
200 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Installation

sudo pip install pythonpy
bash                              # restart your shell for tab completion to take effect

py 'expression' ≅ python -c 'print(expression)'

Float Arithmetic

$ py '3 * 1.5'
4.5

Access imports directly

$ py 'math.exp(1)'
2.71828182846

$ py 'random.random()'
0.103173957713

$ py 'datetime.datetime.now()'
2014-06-20 20:22:03.699290

Lists are printed row by row

$ py 'range(3)'
0
1
2

$ py '[range(3)]'
[0, 1, 2]

py -x 'foo(x)' will apply foo to each line of input

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"'
1.txt
2.txt
3.txt

Get only even numbers

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

py -fx 'predicate(x)' filters rows satisfying a condition

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

py -l will set l = list(sys.stdin)

Reverse the input

$ py 'range(3)' | py -l 'l[::-1]'
2
1
0

Sum the input

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

Count the lines of input

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

Count words beginning with each letter

$ cat /usr/share/dict/words | py -x 'x[0].lower()' | py -l 'Counter(l).most_common(5)'
('s', 11327)
('c', 9521)
('p', 7659)
('b', 6068)
('m', 5922)

If you haven't had enough yet, check out the wiki

About

python -c, with tab completion and shorthand

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

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