Получение плохо отформатированного вывода (Python) - PullRequest
0 голосов
/ 24 января 2011

Когда я использую приведенный ниже код, я получаю очень плохо отформатированный вывод.Одной из основных проблем вывода является / n./ N не отображается в реальном текстовом файле, но при просмотре его из скрипта Python все это «не отформатировано».

Код:

def start():
    command = raw_input('''
1) Add
2) Look Up
3) See All
4) Delete Entry
''')
    if command=="1":
        add()
    if command=="2":
        look_up()


def add():
    name = raw_input("What is your name?")
    age = str(raw_input("How old are you?"))
    salary = raw_input("Enter Salary:")
    state = raw_input("State:")

    fileObj = open("employees.txt","a")
    fileObj.write("Name:"+name+"\n")
    fileObj.write('--------------------------\n')
    fileObj.write("Age:"+age+"\n")
    fileObj.write("Salary:"+salary+"\n")
    fileObj.write("State:"+state+"\n")
    fileObj.write("--------------------------\n")
    fileObj.write("\n\n")
    fileObj.close()
    print "The following text has been saved:"
    print "Name:"+name
    print "Age:"+age
    print "Salary:"+salary
    print "State:"+state
    print "Note: This text was assigned to one line."
    start()
def look_up():
    fileObj = open("employees.txt")
    line = fileObj.readlines()
    print line
    start()
start()

Результат чтения ипечать:

['\ n', 'Имя: Ной \ n', '--------------------------\ n ',' Возраст: 16 \ n ',' Зарплата: 20000 \ n ',' Состояние: NC \ n ',' -------------------------- \ n ',' \ n ',' \ n ',' Имя: Даниэль Рейни \ n ',' -------------------------- \ n ',' Возраст: 18 \ n ',' Зарплата: 200000 \ n ',' Состояние: NC \ n ',' -------------------------- \ n ',' \ n ',' \ n ',' Имя: fdadas \ n ',' -------------------------- \ n ',' Возраст: 343 \ n ',' Зарплата: 344433 \ n ',' Состояние: NC \ n ',' -------------------------- \ n ',' \ n ',' \ n ']

Ответы [ 2 ]

3 голосов
/ 24 января 2011
print line

Вы печатаете list, и поэтому элементы печатаются.

Попробуйте выполнить итерацию по нему, а затем распечатать:

for ele in line:
    print ele
1 голос
/ 24 января 2011

Попробуйте .read() вместо .readlines():

def look_up():
    fileObj = open("employees.txt")
    contents = fileObj.read()
    print contents
    start()

readlines() читает строки файла как список, read() как одну строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...