如何读取文本文件并使用python检查其内容

时间:2016-06-13 14:21:06

标签: python string text variable-assignment

我正在尝试读取文本文件,打印其内容,并在到达"标记"时停止。

我的代码是:

 import sys
 sys.path.append("/Libraries/Documents")
 file = open("readmepython.txt", "r")
 while True:
     x = file.readline()
     if x != "break":
         print(x)
     else:
         break

 #doesnt work

有问题的文本文件只包含此内容,没有多余的空格或返回:

this is the ip
this is the /24
this is the gateway
this is the name server
break

循环将继续无限运行,我不确定如何正确分配变量以便正确检查。

从文本文件中读取时,python是否不分配原始字符串值?我在这里做错了什么?

4 个答案:

答案 0 :(得分:1)

尝试类似的事情,

file = open("readmepython.txt", "r")
For line in file:
   print line

file = open("readmepython.txt", "r")
For line in file.readlines():
    print line

另见:python looping through input file

答案 1 :(得分:0)

虽然许多答案对我遇到的其他问题非常有帮助,但没有人明确回答这个问题。 我使用。{Mr.Mean's建议清除文本文档中返回的隐藏字符。 Another user向我展示.strip()(我应该知道的事情) ,它可以更好地剥离远离隐藏的角色。

当用Python阅读文本文档时,如果按下一个新行,则会出现一个看不见的

\n

在字符串的末尾,用单引号括起来' '

我最终使用.replace方法两次将字符串清除到我想要的内容。这也可以通过切片第一个字符和字符串的最后三个字符来完成。

我的新功能代码:

import sys
sys.path.append("/Libraries/Documents")
file = open("readmepython.txt", "r")
while True:
    x = file.readline().strip
    if x != "break":
      print(x)
    else:
      break

#does work

除非有人另有建议,否则我最终会接受这个答案。

答案 2 :(得分:0)

import sys
sys.path.append("/Libraries/Documents")
file = open("readmepython.txt", "r")
while True:
    x = file.readline().strip()
    if x != "break":
      print(x)
    else:
      break

答案 3 :(得分:-1)

您最好尝试以下方法:

可能sys.path.append没有做你想要的(我不确定)。最好使用文件的完整路径作为开放函数的第一个参数。

file = open("Full Path of your file", 'r')
line = file.readline()
while line:
    if line == 'break':
        break
    print line
    line = file.readline()

如果在断线之后有换行符或其他字符,请注意是真的" break\n"。在这种情况下,您应该运行此代码:

file = open("Full Path of your file", 'r')
line = file.readline()
while line:
    if line == 'break'.replace('\n',''):
        break
    print line
    line = file.readline()