Note that there are some explanatory texts on larger screens.

plurals
  1. POPython, redirecting the stream of Popen to a python function
    primarykey
    data
    text
    <p>I'm new to python programming. I have this problem: I have a list of text files (both compressed and not) and I need to : - connect to the server and open them - after the opening of the file, I need to take his content and pass it to another python function that I wrote</p> <pre><code>def readLogs (fileName): f = open (fileName, 'r') inStream = f.read() counter = 0 inStream = re.split('\n', inStream) # Create a 'list of lines' out = "" # Will contain the output logInConst = "" # log In Construction curLine = "" # Line that I am working on for nextLine in inStream: logInConst += curLine curLine = nextLine # check if it is a start of a new log &amp;&amp; check if the previous log is 'ready' if newLogRegExp.match(curLine) and logInConst != "": counter = counter + 1 out = logInConst logInConst = "" yield out yield logInConst + curLine def checkFile (regExp, fileName): generatore = readLogs(fileName) listOfMatches=[] for i in generatore: #I'm now cycling through the logs # regExp must be a COMPILE regular expression if regExp.search(i): listOfMatches.append(i) return listOfMatches </code></pre> <p>in order to elaborate the info contained in those files. The function has the aim of write in just 1 line the logs that are stored in those files using 3 lines ... The function is working fine on files read from my local machine but I cannot figure out how to connect to a remote server and create these one-line logs without storing the content of each file into a string and then working with the string ... The command that I use to connect to the remote machine is :</p> <pre><code>connection_out = Popen(['ssh', retList[0], 'cd '+retList[2]+'; cat'+fileName], stdout=PIPE).communicate()[0] </code></pre> <p>retList[0] and retList[2] are the user@remote and the folder name that I have to access</p> <p>Thanks to all in advance !</p> <p><strong>UPDATE:</strong></p> <p>My problem is that I have to establish an ssh connection first :</p> <pre><code>pr1=Popen(['ssh', 'siatc@lgssp101', '*~/XYZ/AAAAA/log_archive/00/MSG_090308_162648.gz*' ], stdout=PIPE).communicate()[0] </code></pre> <p>All the files that I need to open are stored in a list, fileList[], part of them are compressed (.gz) and part are just text files !! I have tried all the procedures that u showed before bot nothing worked ... I think that I mus modify the third argument of the Popen function but I cannot figure out how to do it ! Is there anyone that can help me ???</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload