python代码不打印文本文件“c”

python代码不打印文本文件“c”,python,Python,代码不会返回文本文件的内容,而是返回一个空字符串 a = open('myfile.txt', 'w+') list01 = ['content from list 01 ~'] list02 = ['content from list 02 '] a.writelines(list01) a.writelines(list02) b = open('myfile.txt', 'r+') c = b.readline() print("This is c: ", c) wr

代码不会返回文本文件的内容,而是返回一个空字符串

a = open('myfile.txt', 'w+')
list01 = ['content from list 01 ~']
list02 = ['content from list 02 ']
a.writelines(list01)
a.writelines(list02)
b = open('myfile.txt', 'r+')
c = b.readline()
print("This is c: ", c)
writelines不会有效地写入文件,它会一直保留在缓冲区中,直到调用flush of close,使用with语句可以轻松地在文件末尾自动关闭文件

with open('myfile.txt', 'w') as a:
    list01 = ['content from list 01 ~']
    list02 = ['content from list 02 ']
    a.writelines(list01)
    a.writelines(list02)

with open('myfile.txt', 'r') as b:
    c = b.readline()

print("This is c: ", c)

同时使用w和r,删除不需要的+在您的情况下,

您的代码只需做一些更改即可工作

使用r+代替w+。 r+用于读写。 无需再次打开文件进行读取。 你可以说c=a.readline


不要选择两个不同的python版本标记,因为语法可能不同。明显的问题是,在示例中没有关闭。你通常应该使用。你可以考虑奖励那些帮助过你的人,或者至少评论一下,解释一下你缺少了什么;向我返回一个空字符串…我尝试运行代码,发现它第一次运行时返回空字符串。第二次,它从文件中填充文本。原始代码写入一个新文件,因此在这种情况下,它将始终返回emptyGot。非常感谢。
a = open('myfile.txt', 'r+')
list01 = ['content from list 01 ~']
list02 = ['content from list 02 ']
a.writelines(list01)
a.writelines(list02)
c = a.readline()
print("This is c: ", c)