At Thursday 16/11/2006 22:33, PS wrote:

Friends,

I am new to python and did search on the web on how to achieve this:
( I am trying to append the line numbers to all the lines of a file for now)

But you forget to say what went wrong... Next time, post the error message including the full traceback.
Using my crystal ball I can see a few problems here:

import os, sys

fileName = os.path.join("C:", "temp", "x1.txt")
fileobject = open(fileName, 'r')
outputDir = "C://temp//"
linenumber = 0
fileName1 = outputDir + " x2.txt"

I see that you already know how to build properly a file name using os.path.join - well, some lazyness is ok...

fileobject1 = open(fileName1, 'w')
while (1):
    L = fileobject.readline()
    if L=="":
        print "**Done"
        break

Usually that's written as:

for L in fileobject:
    ... do something ...
else:
    print "** Done"

for is used to iterate over some sequence (or iterator), and a file acts as its own iterator, yielding one line at a time.
The else clause -optional- is executed when nothing remains to iterate.

    linenumber += 1
    fileobject1.write (ln)
    fileobject1.write(":: "+ L)

I think here is your problem. You want the line number (printed as text), followed by two :, a space, and the original line contents. I'd use:

    fileobject1.write("%d:: %s" % (linenumber, L))

fileobject1.close()
=============================================================

Enough for a good start. Happy pythoning!


--
Gabriel Genellina
Softlab SRL
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis! ¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to