2017-08-11 4 views
1

Unten ist der Code zu einem Teil eines Programms. Dieser Teil druckt die Zeile, die der Benutzer eingibt (wie idnum). Es ruft die Daten von allen 6 Dateien ab, aber wenn es gedruckt wird, gibt es eine Linie, die jedes Stück von Daten trennt. Was muss ich tun, damit das Programm die Daten ohne Zeilenabstand druckt?Abrufen von Daten aus Dateien

1 smith 

1 john 

1 02/01/1234 

1 4 pigeon street 

1 123456765432234432 

1 male 

idnum= int(input("Enter id number: ")) 

def display(): 
    line = open("Surname", "r").readlines()[idnum-1] 
    print (line) 
    line = open("Forename", "r").readlines()[idnum-1] 
    print (line) 
    line = open("Date of birth", "r").readlines()[idnum-1] 
    print (line) 
    line = open("Home address", "r").readlines()[idnum-1] 
    print (line) 
    line = open("Home phone number", "r").readlines()[idnum-1] 
    print (line) 
    line = open("Gender", "r").readlines()[idnum-1] 
    print (line) 



import os.path 
if os.path.exists("Surname"): 
    display() 
else: 
    print("No data exists.") 
+1

Sie auch 'Druck verwenden können (line.rst rip ('\ n')) ' – coder

Antwort

2

Sie end in Druckfunktion angeben (default könnte '\ n' sein. Ich verdichtet auch Ihren Code.

from os import path 

idnum= int(input("Enter id number: ")) 

def display(): 
    for file in ["Surname", "Forename", "Date of birth", "Home address", "Home phone number", "Gender"]: 
     with open(file) as f: 
      print(f.readlines()[idnum-1], end=' ') 

if os.path.exists("Surname"): 
    display() 
else: 
    print("No data exists.") 
+0

Vielen Dank, das funktioniert, aber alle wo eingerückt mit Ausnahme des Nachnamens, so änderte ich Ende = '' bis Ende = ''. Und ich weiß, dass es genau so funktioniert, wie ich es wollte. – user8435959

2

Ihre readlines() ist Kommissionierung der Newline-Zeichen aus der Datei auf. Zum Lesen es ohne die \n Charakter, befolgen Sie die Ratschläge von this question und verwenden read().splitlines() statt:

import os 

idnum= int(input("Enter id number: ")) 

def display(): 
    for file in ["Surname", "Forename", "Date of birth", "Home address", "Home phone number", "Gender"]: 
     with open(file) as f: 
      print(f.read().splitlines()[idnum-1]) 

if os.path.exists("Surname"): 
    display() 
else: 
    print("No data exists.")