我是Python的新手,我正在学习循环和条件。我有代码:
import random
import sys
import os
test_file = open("test.txt", "wb") #use wb if write
append = ""
while append != "exit":
print("Write something to append to file: ")
append = sys.stdin.readline()
test_file.write(bytes(append, 'UTF-8'))
test_file.close()
现在,每当我输入'exit'时,我都希望它退出循环,但由于某种原因,它不会。它仍然是一个看似无限循环的东西。它背后的原因是什么?提前谢谢。
答案 0 :(得分:2)
readline()
包含\n
换行符。
您可以使用append.strip()
。
In [1]: import sys
In [2]: append = sys.stdin.readline()
test
In [3]: append
Out[3]: 'test\n'
In [4]: append.strip()
Out[4]: 'test'
或者你可以像这样写
with open("test.txt", "w") as test_file:
while True:
print("Write something to append to file: ")
append = input()
if len(append) == 0 or input.strip() == "exit":
break
test_file.write(append)
答案 1 :(得分:1)
将条件更改为CHLAUTH TYPE(SSLPEERMAP)
并执行。它对我有用。
答案 2 :(得分:0)
尝试打印append
以确切了解它是什么,或使用append = str(sys.stdin.readline())