2012-11-07 15 views
8

Mögliche Duplizieren:
python open built-in function: difference between modes a, a+, w, w+, and r+?Lese-Schreib-Modus Python

try: 
    f = open("file.txt", "r") 
    try: 
     string = f.read() 
     line = f.readline() 
     lines = f.readlines() 
    finally: 
     f.close() 
except IOError: 
    pass 


try: 
    f = open("file.txt", "w") 
    try: 
     f.write('blah') # Write a string to a file 
     f.writelines(lines) # Write a sequence of strings to a file 
    finally: 
     f.close() 
except IOError: 
    pass 

Hallo,

dies Modus, die ich lesen und schreiben kann Datei, aber ich möchte Datei öffnen einmal und führen Sie sowohl Lese-und Schreibvorgang in Python

+6

[HOLY bleeping BLEEP.] Schreiben (http://docs.python.org/2/library/functions.html#open) –

+0

http://stackoverflow.com/questions/1466000/python-open-built-in-function-difference-between-modes-aaww-and-r/30931305#30931305 – industryworker3595112

Antwort

15

Wie in anderen Programmiersprachen können Sie eine Datei in den Modi r+, w+ und a+ öffnen.

  • r+ zum Lesen öffnet und Schreiben (ohne Abschneide, Dateizeiger auf den Anfang)
  • w+ zum Schreiben öffnet (und kürzt so die Datei) und Lesen
  • a+ zum Anhängen (Schreiben ohne zu Verkürzen öffnet, erst am Ende der Datei und der Dateizeiger am Ende der Datei) und das Lesen
5

Vom doc:

r+: öffnet die Datei zum Lesen und

+0

danke, aber wenn ich r + seine anhängende Datei verwendet habe, will ich nicht Zum Anhängen an – Satyendra

+2

@Styendra müssen Sie f.seek (0) vor dem Aufruf von f.write() verwenden (f ist das geöffnete Dateiobjekt), andernfalls wird f.read() den Positionszähler am Ende der Datei belassen und Hier wird f.write() aufgenommen. – andreb