Is it possible to pass CSV Reader Object As Argument to another Python File ???

bansi mail2bansi at gmail.com
Sun Jan 30 08:31:26 EST 2011


On Jan 28, 4:22 pm, Benjamin Kaplan <benjamin.kap... at case.edu> wrote:
> On Fri, Jan 28, 2011 at 3:42 PM, bansi <mail2ba... at gmail.com> wrote:
> > On Jan 28, 1:52 pm, Benjamin Kaplan <benjamin.kap... at case.edu> wrote:
> >> On Fri, Jan 28, 2011 at 1:33 PM, bansi <mail2ba... at gmail.com> wrote:
> >> > On Jan 28, 9:46 am, bansi <mail2ba... at gmail.com> wrote:
> >> >> On Jan 26, 8:31 pm, MRAB <pyt... at mrabarnett.plus.com> wrote:
>
> >> >> > On 27/01/2011 00:57, bansi wrote:
>
> >> >> > > On Jan 26, 6:25 pm, Ethan Furman<et... at stoneleaf.us>  wrote:
> >> >> > >> bansi wrote:
>
> >> >> > >>   >  First namelookupWrapper.py running under Python 2.6 accept arguments
> >> >> > >>   >  from stdin and uses csv reader object to read it i.e.
> >> >> > >>   >  r=csv.reader(sys.stdin)
>
> >> >> > >>   >  And then it has to pass csv reader object to another python script
> >> >> > >>   >  namelookup.py running under Python 2.7 because it uses pyodbc to
> >> >> > >>   >  connect to database and iterates thru reader object
>
> >> >> > >> Ben Finney wrote:
> >> >> > >>> bansi<mail2ba... at gmail.com>  writes:
>
> >> >> > >>>> Thanks Chris. Sorry for mis-communicating, the two python scripts are
> >> >> > >>>> dependant in a way that namelookupWrapper.py needs to pass csv record
> >> >> > >>>> object to another python script
>
> >> >> > >>> Why have you structured them that way, though? What constraint is
> >> >> > >>> keeping you from doing the work in a single process, where the CSV
> >> >> > >>> reader object can be shared?
>
> >> >> > >>>> If thats not possible then please let me know how to do the workaround
> >> >> > >>>> i didnt understood the import thing and not sure if it helps in my
> >> >> > >>>> case
>
> >> >> > >>> The problem as you've described it so far is best solved by having a
> >> >> > >>> single process accessing the CSV reader object in memory. If that
> >> >> > >>> doesn't suit your use case, you'll need to explain why not.
>
> >> >> > >> In other words, why can't you use Python 2.7 to accept input and
> >> >> > >> generate a csv.reader?
>
> >> >> > >> ~Ethan~- Hide quoted text -
>
> >> >> > >> - Show quoted text -
>
> >> >> > > Ethan,
> >> >> > > The python script takes the input from Splunk (http://www.splunk.com/
> >> >> > > base/Documentation/) which supports only Python 2.6
> >> >> > > So the real constraint is Splunk supports only Python 2.6 .
>
> >> >> > > As you know Python 2.6 doesnt support or doesnt have pyodbc install
> >> >> > > for Windows  64 bit OS
> >> >> > > So i installed Python 2.7 and thereafter pyodbc install for Windows 64
> >> >> > > bit OS for Python 2.7
>
> >> >> > Have you actually tried Splunk with Python 2.7? It might not work with
> >> >> > versions which are earlier than Python 2.6, but that doesn't
> >> >> > necessarily mean that it won't work with versions of Python 2 which are
> >> >> > later than Python 2.6 (unless the documentation says that it must be
> >> >> > Python 2.6).- Hide quoted text -
>
> >> >> > - Show quoted text -
>
> >> >> Splunk's latest version 4.1.6 doesn't support Python 2.7
> >> >> I tried the import trick but it didnt work because the real script
> >> >> which runs under Python 2.7 has import pyodbc so it results in
> >> >> following error
>
> >> >> c:\Splunk\etc\apps\search\bin>splunk cmd python namelookupWrapper.py
> >> >> memberId memberName < memberInput.csv
> >> >> Traceback (most recent call last):
> >> >>   File "namelookupWrapper.py", line 3, in <module>
> >> >>     import namelookup
> >> >>   File "c:\Splunk\etc\apps\search\bin\namelookup.py", line 7, in
> >> >> <module>
> >> >>     import pyodbc
> >> >> ImportError: DLL load failed: The specified module could not be found.
>
> >> >> Please let me know if i am missing something on import. If so please
> >> >> provide me with an example- Hide quoted text -
>
> >> >> - Show quoted text -
>
> >> > Here are some more details from my earlier posting. Please click the
> >> > below link
>
> >> >http://answers.splunk.com/questions/11145/its-getting-mysterious-to-m...
> >> > --
> >> >http://mail.python.org/mailman/listinfo/python-list
>
> >> Have you tried downloading the source for PyODBC and compiling it
> >> yourself? All you need to do is python setup.py install. My guess
> >> would be that it works just fine on 64-bit Python 2.6, they just never
> >> released a re-compiled version of it for that platform.- Hide quoted text -
>
> >> - Show quoted text -
>
> > Thanks Benjamin. Please point me to the website from where i can
> > download pyodbc for Windows 64 bit OS under Python 2.6 and
> > installation instructions
> > --
>
> You don't download it for 64-bit Windows with Python 2.6. You download
> the source code from the website and make the Python 2.6, 64-bit
> Windows version yourself.
>
> Download the source zip file and extract it. Then, open up the command
> prompt and use the "cd" command to change directories to that source
> folder. For instance, if the source code has been extracted to
> C:\pyodbc-2.1.8\, you type in "cd C:\pyodbc-2.1.8" and press enter.
>
> After that, you just run the build script which is already in there:
>
> C:\Python26\python26.exe setup.py install
>
> You'll need to have Visual C++ 2008 (not 2010) installed for this to
> work. You can get it for free fromhttp://www.microsoft.com/express/Downloads/if you don't already have
> it.
>
>
>
> >http://mail.python.org/mailman/listinfo/python-list- Hide quoted text -
>
> - Show quoted text -- Hide quoted text -
>
> - Show quoted text -

Thanks Benjamin. Wondering why i need to Visual C++ 2008 . What it has
to do with Python?
Isn't it possible to implement your suggestion without installing
Visual C++ 2008 .



More information about the Python-list mailing list