Differences between revisions 1 and 16 (spanning 15 versions)
Revision 1 as of 2005-02-05 15:52:24
Size: 152
Editor: h134-215-201-101
Comment:
Revision 16 as of 2006-04-06 12:50:52
Size: 2304
Editor: 20151083080
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Powerful Python One-Liners = Powerful Python One-Liners =
Line 3: Line 3:
* Grab a document from the `net:
  * from urllib import urlopen;doc = urlopen("http://www.python.org").read();print doc
This is a page that is devoted to short programs that can perform powerful operations. The ability to write short programs that are just as powerful as a program written in another lanuage designed to do the same thing. However, it is sometimes fun to try and write a program in Python that is only one line. In other lanugages this would be nearly ''impossible'', but in Python it is a lot easier to do. The trick is to think up something that will "do a lot with a little." I, personally, would love to see this page expanded to the point where it needs some sort of organization system.

Thanks for Your Code,
["JAM"]

== Contributed Code ==

 * ["JAM/Code/PlatformFinder"] - This program tells you what platform you are using.
 * ["JAM/Code/ComPYiler"] - This program compiles every .py file in the Python directory.
 * ["Powerful Python One-Liners/Hostname"] - This programs tells you what your hostname is.

[[BR]]
Some thoughts by ewo:
 * Want to know how much Byte a Terabyte is? If you know further abbreviations you can extend the list.
{{{
import pprint;pprint.pprint(zip(('Byte', 'KByte', 'MByte', 'GByte', 'TByte'), [(2**10)**i for i in xrange(5)]))
}}}
 * And what's the largest number that can be represented by 8 Byte?
{{{
import pprint;pprint.pprint(["%i Byte = %i Bit = largest number: %i" %(j, j*8, 256**j) for j in [2**i for i in xrange(8)]])
}}}
Cute, isn't it?

=== Decode a base64 encoded file ===

{{{
import base64, sys; base64.decode(open(sys.argv[1], "rb"), open(sys.argv[2], "wb"))
}}}


=== Editing a list of files in place ===
I came up with this one-liner in response to an [http://linuxgazette.net/issue96/orr.html article] that said it couldn't be done as an one-liner in Python.

What this does is replace the substring "at" by "op" on all lines of all files (in place) under the path specified (here, the current path).

* '''''Caution:''''' Don't run this on your home directory or you're going to get all you text files edited. If you accidentally do it, you can easily write an antidote one-liner by editing the ''re.sub'' call
{{{#!python
import sys,os,re,fileinput;a=[i[2] for i in os.walk('.') if i[2]] [0];[sys.stdout.write(re.sub('at','op',j)) for j in fileinput(a,inplace=1)]
}}}

Powerful Python One-Liners

This is a page that is devoted to short programs that can perform powerful operations. The ability to write short programs that are just as powerful as a program written in another lanuage designed to do the same thing. However, it is sometimes fun to try and write a program in Python that is only one line. In other lanugages this would be nearly impossible, but in Python it is a lot easier to do. The trick is to think up something that will "do a lot with a little." I, personally, would love to see this page expanded to the point where it needs some sort of organization system.

Thanks for Your Code, ["JAM"]

Contributed Code

  • ["JAM/Code/PlatformFinder"] - This program tells you what platform you are using.
  • ["JAM/Code/ComPYiler"] - This program compiles every .py file in the Python directory.
  • ["Powerful Python One-Liners/Hostname"] - This programs tells you what your hostname is.

BR Some thoughts by ewo:

  • Want to know how much Byte a Terabyte is? If you know further abbreviations you can extend the list.

import pprint;pprint.pprint(zip(('Byte', 'KByte', 'MByte', 'GByte', 'TByte'), [(2**10)**i for i in xrange(5)]))
  • And what's the largest number that can be represented by 8 Byte?

import pprint;pprint.pprint(["%i Byte = %i Bit = largest number: %i" %(j, j*8, 256**j) for j in [2**i for i in xrange(8)]])

Cute, isn't it?

Decode a base64 encoded file

import base64, sys; base64.decode(open(sys.argv[1], "rb"), open(sys.argv[2], "wb"))

Editing a list of files in place

I came up with this one-liner in response to an [http://linuxgazette.net/issue96/orr.html article] that said it couldn't be done as an one-liner in Python.

What this does is replace the substring "at" by "op" on all lines of all files (in place) under the path specified (here, the current path).

* Caution: Don't run this on your home directory or you're going to get all you text files edited. If you accidentally do it, you can easily write an antidote one-liner by editing the re.sub call

   1 import sys,os,re,fileinput;a=[i[2] for i in os.walk('.') if i[2]] [0];[sys.stdout.write(re.sub('at','op',j)) for j in fileinput(a,inplace=1)]

Powerful Python One-Liners (last edited 2023-07-19 19:23:56 by HermannStammWilbrandt)

Unable to edit the page? See the FrontPage for instructions.