file.read возвращает пустой список - PullRequest
0 голосов
/ 06 декабря 2018
file1.seek(0)
exec(i + ".seek(0)")
readd = exec(i + ".readlines()")
print(file1.readlines())

Я уже открыл файл, так как "r +" файл содержит содержимое, но код возвращает это:

[]
None

Я пытался начать, но он все равно не возвращаетСодержание любая помощь приветствуется!

это полный код:

dictt = {'a':'z','b':'x','c':'c','d':'v','e':'b',
    'f':'n','g':'m','h':'a',
    'i':'s','j':'d','k':'f','l':'g','m':'h',
    'n':'j','o':'k','p':'l','q':'ñ',
    'r':'q','s':'w','t':'e','u':'r','v':'t',
    'w':'y','x':'u','y':'i','z':'o', "ñ" : "p",
    " " : "m", "\\" : "m"
    }


inv_map = {v: k for k, v in dictt.items()}

def read():
    file1 = open("memory1.txt", "r+")
    i = input("file: ")
    o = input("Note: ")
    exec(i + ".seek(0)")
    readd = exec(i + ".readlines()")
    readd = file1.readlines()
    readd = str(readd)
    lent = len(readd)
    final = ""
    for i in range(lent - 4):
        final += inv_map[str(readd[i + 2])]
    print(final)
    print("Note: " + o)
    file1.close()

def write():
    file1 = open("memory1.txt", "r+")
    n = input("to file: ")
    m = str(input("Go: "))
    print(n)
    lent = len(m)
    for i in range(lent):
    exec(n + ".write(dictt[m[i]])")
    print(dictt[m[i]])
    print("Wrote: ", m)
    file1.close()

while (cont == True):
    y = input()
    print(".")
    final = y + "(" + ")"
    exec(final)

функция записи работает нормально, кстати

1 Ответ

0 голосов
/ 06 декабря 2018

вы уже прочитали файл, используя

readd = exec(i + ".readlines()")

, это вернет содержимое файла в переменную readd.Следующая строка,

print(file1.readlines())

снова вызовет линии чтения, которые вернут пустой список.

...