GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing pythonadventures.wordpress.com — java – Python Adventures Python AdventuresWelcome to the Jungle!
Archive
Posts Tagged ‘java’
Python equivalent of Java .jar filesProblem $ java -jar project.jar What is its Python equivalent? How to distribute a Python project (with several modules and packages) in a single file? Solution Let’s see the following project structure: MyApp/
MyApp.py <--- Main script
alibrary/
__init__.py
alibrary.py
errors.py
anotherlib/
__init__.py
another.py
errors.py
configs/
config.json
logging.json
Rename the main script to myapp.egg/ <--- technically, it's just a zip file
__main__.py <--- Renamed from MyApp.py
alibrary/
__init__.py
alibrary.py
errors.py
anotherlib/
__init__.py
another.py
errors.py
configs/
config.json
logging.json
How to zip it? Enter the project directory ( zip -r ../myapp.egg . Now you can launch the $ python myapp.egg You can also use command-line arguments that are passed to Python vs Java in relation to logosEmanuel Couto explains the difference between Python and Java, comparing the logos of the two languages: “I read almost all comments and I there is one point that all of you missed! The logo is important for productivity! The Python logo is obviously a snake. The name of the language, however, was based on Monty Python. So what this means is that you are going to have good laughs when the python bytes you. Specially when the code is too long to debug or understand. The Java logo is a cup of coffee. What this means is that you are going to need coffee when programming in Java or you will fall asleep. In fact you are going to need loads of coffee when your code is near production stage. BTW I don’t drink coffee, so my job is twice as hard. Jython is when you give coffee to a snake. Jython users are people that drank toomuch coffee and over time it doesn’t have any effect anymore. Since the python needs to sleep, the solution is giving coffee so that Java programmers can also have laughs at late hours of the day. And that folks is a true story.” (source) Print colored text in terminalProblem In the terminal, you want to print some texts in colored mode. For instance, warnings in red. Solution There is a module for this task called termcolor. You can install it with this command: sudo pip install termcolor Or, simply download it and put Usage from termcolor import colored
print colored('hello', 'red'), colored('world', 'green')
The tip and the example are from this thread. Update (20110518) If you want to print something in red (warning/error) or green (OK), here is a simplified solution: colorred = "\033[01;31m{0}\033[00m"
colorgrn = "\033[1;36m{0}\033[00m"
print colorred.format("Warning! Reactor meltdown. Evacuate immediately!")
print colorgrn.format("Ha-ha, just kidding!")
Same thing in Java: String colorred = "\033[01;31m%s\033[00m\n"; System.out.printf(colorred, "# Warning! Approaching light speed. Fasten your seatbelts."); StringBuilder functionality in PythonProblem You need to concatenate lots of string elements. Under Java we use a StringBuilder for this, but how to do that in Python? Solution #1 Use a list, and join the elements of the list at the end. This is much more efficient than concatenating strings since strings are immutable objects, thus if you concatenate a string with another, the result is a NEW string object (the problem is the same with Java strings). Example: def g():
sb = []
for i in range(30):
sb.append("abcdefg"[i%7])
return ''.join(sb)
print g() # abcdefgabcdefgabcdefgabcdefgab
Solution #2 (update 20120110) Use a StringIO object and print to it. In short: from cStringIO import StringIO out = StringIO() print >>out, 'arbitrary text' # 'out' behaves like a file return out.getvalue()
Categories: python
Tags: concatenate, java, string, stringbuffer, stringbuilder, StringIO
Blog Stats
Random PostRecent Postsascii
bash
beautifulsoup
book
bpython
challenge
command-line
convert
cron
crontab
date
datetime
distance
dropbox
email
eric
exercise
extract
file
firefox
github
google
hacking
heroku
html
ide
imdb
imgur
install
ipython
java
jinja2
json
linux
module
modules
MongoDB
movies
news
pdf
perl
pi
pip
print
pylint
pypi
python3
python shell
quote
readline
reddit
redirect
refactoring
regexp
requests
reverse
review
shell
sound
stdout
string
tab
text
threads
time
tip
tutorial
unicode
url
video
virtualenv
virtual environment
virtualenvwrapper
xml
zip Archives
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
|
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |