簡體   English   中英

readline 循環在空白處評論 Python

[英]readline loop commenting in an empty space Python

圖片顯示其他一切正常,但代碼中有一個空白區域,這使得程序打印“無效”。 我不知道空白空間來自哪里,有什么建議嗎?

selec1 = open("strings.txt","r")
selec2 = "bob"
while selec2:
    selec2 = selec1.readline().replace("\n","")
    if selec2.isalnum() == True:
        print(selec2,"was ok.")
    if selec2.isalnum() == False:
        print(selec2,"was invalid.")

我會這樣做逐行迭代,這可能是預期的

例如

with open("strings.txt") as fh:  # close file when leaving scope
    for line in fh:              # file-likes are iterable by-lines
        line = line.strip()      # remove trailing newline
        print("{} was {}.".format(line, "ok" if line.isalnum() else "invalid"))

這做了一些有用的事情

  • 完成后使用with open()而不是open()將關閉文件
  • 在行上調用.strip() (如注釋中所述)將從行中刪除尾隨換行符比替換它們更容易
  • open()返回一個類似文件的文件,它已經可以逐行迭代(因此您可以簡單地編寫一個類似for x in y的結構)並且將省略尾隨的最后一行
  • 你可以制作一個像"a" if something else "b"來簡化一些流程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM