Differences between revisions 16 and 17
Revision 16 as of 2006-04-06 12:50:52
Size: 2304
Editor: 20151083080
Comment:
Revision 17 as of 2006-04-06 12:52:44
Size: 2307
Editor: 20151083080
Comment:
Deletions are marked like this. Additions are marked like this.
Line 36: Line 36:
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). 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). 
Line 38: Line 38:
* '''''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  * '''''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.

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.