python - Windows vs Linux Text File Reading

Indlæg af Hanne Mølgaard Plasc

Problem



Her er spørgsmålet, jeg har for nylig skiftet fra Windows til Ubuntu, og nogle af mine python-scripts til analyse af datafiler giver mig fejl, jeg er usikker på, hvordan jeg skal adressere korrekt.


Datafilerne fra min nuværende instrumentation output noget som dette:



  [[Header]]

  
  Forskellige oplysninger w.r.t instrumentet osv.

  
  [[Data]]

  
  Status, kode, temperatur, felt osv ........

  
  0,0,300, 0,013 osv.



Så grundlæggende er dette kodestykke beregnet til at læse datafilen og parse ud al informationen fra [[Header]] til [[Data]] og begynde at læse de rigtige data på de relevante linjer, uanset hvordan overskriften er arrangeret, da forskellige instrumenter har forskellige overskrifter.


f = open('file.dat')
lines = f.readlines()
i = 0
while (lines[i]!="[Data]
"):
    i+=1
i = i + 2


Denne kode kører fint i Windows, men i Ubuntu tager værdien af ​​i altid det samlede antal linjer i den pågældende datafil. Så jeg ved, at problemet er håndteringen af ​​'[[Data]] \ n' linjen. Tak for enhver hjælp.

Bedste reference


Hvis du åbner en fil i standardteksttilstand, oversættes Windows \ r \ n til \ n, når den læses. På Linux foregår det ikke. Din datafil sandsynligvis har \ r \ n, især hvis den er oprettet på Windows. Brug i stedet for Universal Newline-tilstand:


open(filename, 'rU')