私はPythonで小さな(愚かな)問題を抱えていますが、私はクライアント/サーバプログラムを使ってテキストファイルを転送しています。私はファイルを受け取ろうとします。彼は、ファイルを保存したい場合、私は彼がY入るか、それが動作しないY、ここでは、スニペットの場合でも、ユーザーに尋ねるとき、私の問題は、次のとおりです。pythonエラー:文字列を検証するための明白な条件が機能しない
print "Listening on input"
a = 1
while a == 1:
pipe = open(fifoclient,'r')
dr, dw, de = select.select([pipe], [], [], 0)
if dr:
content = pipe.read()
liste = content.split("delimiter")
expediteur = liste[1]
filecont = liste[2]
print "You received a file from : " + expediteur + ". Wanna save it?"
answer = raw_input("O/N: ")
while answer != "O" or answer != "N" or answer != "o" or answer != "n":
print "Please enter a correct answer:\n"
answer = raw_input("O/N: ")
if answer == "O" or answer == "o":
fileoutpath = str(raw_input("please enter the complete path for where you want to save the file to: "))
while os.path.exists(fileoutpath):
print "THe file already exists, chose another path:\n"
fileoutpath = str(raw_input("please enter the complete path for where you want to save the file to: "))
fileout = open(fileoutpath,'w')
fileout.write(filecont)
fileout.close()
else:
a = 0
それはO/Nを要求したときに問題があります(Oui/Nonそれはフランス語です:))。 "o"または "O"と入力しても、正しい答えを入力するように依頼します。 ご協力いただければ幸いです。ありがとうございました!
この種の問題については、取得したユーザー入力/応答をすべて小文字(または大文字)に変換しておき、異なるケースについて心配することなく簡単な比較を行う価値があります。 – Levon