【问题标题】:file.read returning empty listfile.read 返回空列表
【发布时间】:2018-12-06 09:42:19
【问题描述】:
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)

顺便说一句,write 函数工作正常

【问题讨论】:

标签: python python-3.x file file.readalllines


【解决方案1】:

您已经使用

读取了文件

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

这会将文件的内容返回给 readd 变量。下一行,

print(file1.readlines())

将再次调用 readlines 将返回一个空列表。

【讨论】:

  • 感谢您的回复,但是取出最后一行后,readd变量仍然是一个空列表。我很困惑。
  • 试试下面几行:with open(filepath, "r") as fp: data = fp.readlines()
猜你喜欢
  • 2015-10-25
  • 2019-08-18
  • 2021-03-11
  • 2015-10-27
  • 2014-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多