2024-03-28 16:27:58 发布
网友
message = 'aaa' for alpha in message: num = ord(alpha) + 2 ans = chr(num) print(ans) file = open('f.txt', 'w') file.write(ans) file.close()
print(ans)按预期打印ccc,但file.write(ans)只写“c”。为什么它不打印整个字符串?多谢了。你知道吗
print(ans)
file.write(ans)
write方法从文件中的某个(当前)位置开始写入。由于每次迭代都要打开文件,所以写入总是从文件的开头开始,覆盖现有数据。在您的情况下,它将取代现有的字母c。你知道吗
write
您需要在循环之前打开文件,然后在循环之后关闭文件。这将使文件保留位置(用file.tell()检查):
file.tell()
message = "aaa" file = open('f.txt', 'w') for alpha in message: num = ord(alpha) + 2 ans = chr(num) print(ans) file.write(ans) file.close()
或者,最好使用上下文管理器:
message = "aaa" with open('f.txt', 'w') as file: for alpha in message: num = ord(alpha) + 2 ans = chr(num) print(ans) file.write(ans)
write
方法从文件中的某个(当前)位置开始写入。由于每次迭代都要打开文件,所以写入总是从文件的开头开始,覆盖现有数据。在您的情况下,它将取代现有的字母c。你知道吗您需要在循环之前打开文件,然后在循环之后关闭文件。这将使文件保留位置(用
file.tell()
检查):或者,最好使用上下文管理器:
相关问题 更多 >
编程相关推荐