Perl __DATA__ construct.

Mladen Gogala gogala.mladen at gmail.com
Mon Jun 25 17:20:25 EDT 2012


I have a script in Perl that I need to rewrite to Python. The script 
contains __DATA__ at the end of the script, which enables Perl to access 
all the data after that through a file descriptor, like this:
usage() if ( !$stat or !defined($home) or !defined($base) or !defined
($sid) );
while (<DATA>) {
 s/%OB/$base/;
 if ( length($home) > 0 ) {
 s/%OH/$home/;
 }
 else {
 s/\/%OH$//;
 }
 if ( length($sid) > 0 && /%OS/ ) {
 s/%OS/$sid/;
 }
 elsif (/%OS/) {
 next;
 }
 s/%VR/$ver/;
 print;
}
__DATA__
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
 . /etc/bashrc
fi
set -a
# User specific aliases and functions
export PATH=/sbin:/bin:/usr/sbin:$PATH
export EDITOR=vi
export ORACLE_BASE=%OB
export ORACLE_HOME=$ORACLE_BASE/product/%VR/%OH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/opt/odbc/lib:$ORACLE_HOME/lib32
export CLASSPATH=/opt/java/lib/tools.jar:$ORACLE_HOME/jdbc/lib/
ojdbc14.jar:.
......
How do I do the same thing in Python? Alternatively, in Perl I can put an 
entire file into a string by using something like:
$str=<<EOF
This is all a single string, 
no matter how many lines do 
I put in it, but I do have to
escape the special character
EOF
;
Is there a way to do the same thing in Python? The idea of the script is 
to generate $HOME/.bashrc for any automagically provisioned Oracle 
installation.
-- 
http://mgogala.byethost5.com


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /