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