2017-10-09 1 views
0

Ok, also versuche ich, im Grunde eine Reihe von spezifischen Code f.write wenn nichts in der Datei bereits vorhanden ist. Dies ist der Code Ich verwende:prüfen, ob die Datei nicht leer ist und wenn es f.write es

import sys 
import os 
from string import * 

userType = raw_input("Enter text: ") 

bigtable = '''<html> 
<head> 
<style> 
table, th, td { 
    border: 1px solid black; 
    border-collapse: collapse; 
} 
th, td { 
    padding: 5px; 
    text-align: left;  
} 
</style> 
</head> 
    <body> 
    <table style="width:50%"> 
     <tr> 
      <th>Server</th> 
      <th>Address</th> 
      <th>Name</th> 
      <th>Address2</th> 
     </tr>''' 

if userType == 'file -n' or userType == 'file --nice': 

    with open('Pass.html', 'r') as f: 

     if str(f) != 0 : 
     print('butters') 
     else: 
     f.write(bigtable) 

Kann jemand erklären, warum dies nicht funktioniert und wenn es möglich ist, eine Datei zu scannen und dann spezifische Informationen in sie schreiben?

einen Weg gefunden, es mit Arbeit zu bilden:

with open('Pass.html', 'a') as f: 

     if os.path.getsize('C:\Python26\Pass.html') != 0 : 
      print('butters') 
     else: 
      f.write(bigtable) 
+0

Zum einen können Sie nicht in eine Datei schreiben, die Sie zum Lesen geöffnet haben. Außerdem vergleichen Sie ein str() mit einem int. Aber was meinst du mit "funktioniert nicht"? –

+0

funktioniert nicht auf den Code selbst im Grunde, warum was ich falsch gemacht habe, was ich außerhalb der Tatsache, dass der Code ist buchstäblich nur falsch, dass die Tatsache, dass ich einen String mit einem int vergleichen ein Problem ist – Cry2Senpai

Antwort

1

Sobald Sie die Datei im Append-Modus geöffnet haben (wie in Ihrem bearbeiten), tell() verwenden, um festzustellen, ob die Datei leer war (oder nicht vorhandene) Vor.

Verwandte Themen