Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #24446

Perl __DATA__ construct.

From Mladen Gogala <gogala.mladen@gmail.com>
Newsgroups comp.lang.python
Subject Perl __DATA__ construct.
Date 2012-06-25 21:20 +0000
Organization solani.org
Message-ID <jsakmp$bsp$1@solani.org> (permalink)

Show all headers | View raw


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

Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Perl __DATA__ construct. Mladen Gogala <gogala.mladen@gmail.com> - 2012-06-25 21:20 +0000
  Re: Perl __DATA__ construct. Benjamin Kaplan <benjamin.kaplan@case.edu> - 2012-06-25 14:41 -0700
  Re: Perl __DATA__ construct. Miki Tebeka <miki.tebeka@gmail.com> - 2012-06-25 14:50 -0700

csiph-web