Текст в файле не печатается - PullRequest
0 голосов
/ 02 августа 2020

Я хочу напечатать текст из файла, но вывод ничего не показывает.

def viewstock():
 replit.clear()
 print ("Here is the current stock\n-------------------------")
 f = open("stock", "a+")
 p = f.read()
 print (p)
 print ("Press enter to return to the stock screen")
 e = input ('')
 if e == '':
   stock_screen()
 else:
   stock_screen()

Кто-нибудь знает, как это исправить?

Ответы [ 3 ]

0 голосов
/ 02 августа 2020

Чтобы прочитать файл и распечатать его, вы можете просто открыть файл в режиме чтения.

def viewstock():
    replit.clear()
    print ("Here is the current stock\n-------------------------")
    with open("stock", "r") as f:
        p = f.readlines()
        print (p)
    print ("Press enter to return to the stock screen")

    e = input ('')
    stock_screen()     #You just need to call it once

    #this entire section can be ignored and instead the above line will do
    '''
    The if and else does the same thing. So no need to use if statement
    if e == '':
        stock_screen()
    else:         
        stock_screen()
    '''
0 голосов
/ 02 августа 2020

Если вы хотите читать из файла, откройте его в режиме read , а не в режиме append . Когда вы открываете его в режиме добавления, позиция файла находится в конце, где он ничего не возвращает.

попробуйте следующее:

def viewstock():
 replit.clear()
 print ("Here is the current stock\n-------------------------")
 f = open("stock", "r")
 p = f.read()
 print (p)
 print ("Press enter to return to the stock screen")
 e = input ('')
 if e == '':
   stock_screen()
 else:
   stock_screen()
0 голосов
/ 02 августа 2020

Вы можете просто открыть файл в режиме read, а не в режиме append. Попробуйте этот код:

f = open('stock', 'r') -> #(r stands for read mode)
file_contents = f.read()
print (file_contents)
f.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...