繁体   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