开发者

How do I modify program files in Python?

In the actual window where I right code is there a way to insert开发者_如何学Python part of the code into everyline that I already have. Like insert a comma into all lines at the first spot>?


You need a file editor, not python.

  1. Install the appropriate VIM variant for your operating system
  2. Open the file you want to modify using VIM
  3. Type: :%s/^/,/
  4. Type: :wq


If you are in UNIX environment, open up a terminal, cd to the directory your file is in and use the sed command. I think this may work:

sed "s/\n/\n,/" your_filename.py > new_filename.py

What this says is to replace all \n (newline character) to \n, (newline character + comma character) in your_filename.py and to output the result into new_filename.py.


UPDATE: This is much better:

sed "s/^/,/" your_filename.py > new_filename.py

This is very similar to the previous example, however we use the regular expression token ^ which matches the beginning of each line (and $ is the symbol for end).


There are chances this doesn't work or that it doesn't even apply to you because you didn't really provide that much information in your question (and I would have just commented on it, but I can't because I don't have enough reputation or something). Good luck.


Are you talking about the interactive shell? (a.k.a. opening up a prompt and typing python)? You can't go back and edit what those previous commands did (as they have been executed), but you can hit the up arrow to flip through those commands to edit and reexecute them.

If you're doing anything very long, the best bet is to write your program into your text editor of choice, save that file, then launch it.

Adding a comma to the start of every line with Python:

import sys
src = open(sys.argv[1])
dest = open('withcommas-' + sys.argv[1],'w')
for line in src:
    dest.write(',' + line)
src.close()
dest.close()

Call like so: C:\Scripts>python commaz.py cc.py. This is a bizzare thing to do, but who am I to argue.


Code is data. You could do this like you would with any other text file. Open the file, read the line, stick a comma on the front of it, then write it back to file.

Also, most modern IDEs/text editors have the ability to define macros. You could post a question asking for specific help for your editor. For example, in Emacs I would use C-x ( to start defining a macro, then ',' to write a comma, then C-b C-n to go back a character and down a line, then C-x ) to end my macro. I could then run this macro with C-x e, pressing e to execute it an additional time.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜