Python HELP - 从.txt文件输出特定数据并在python中输出

时间:2015-10-21 19:46:41

标签: python

这是我的代码:

Private Augbox As Long

所以基本上,我需要程序在.txt文件中查找内容'name'以及它附带的内容(同一行)

如果'Tom'(名称)在.txt文件中并且'Tom'被输入'name',程序将输出True。由于名称是在.txt文件中找到的。

我的问题是我如何输出名称下找到的内容,然后允许我使用整数输出平均分数。

3 个答案:

答案 0 :(得分:0)

我建议使用with构造,因为它会为你处理关闭。以下程序遍历文件中的所有行,在内容中查找名称

with open('1.txt', "r") as fp:
   data = fp.readline()
   while data != "":
      if name in data:
         print ("True")
            break
      else:
          print ("False")
      data = fp.readline()

答案 1 :(得分:0)

看起来像这样:

classs = input("Class [1, 2 or 3] -  ")

if classs =='1':
    name = input("What is your name? -  ")

    datafile = '1.txt'
    found = False

    # This is a better way to open the file, closes when done
    with open(datafile, 'r') as f:
        data = f.readlines()
        for line in data:
            if name in line:
                print("True")
                found = True
        if found == False:
            print("False")

希望这有帮助!

答案 2 :(得分:0)

首先,要阅读文件内容,请使用

content = ""
with open("yourfile.txt", "r") as f:
    for s in f: content += s

Here您可以找到有关的更多信息。

因此,您在变量内容中拥有该文件的内容。 现在你的问题有点不清楚了。第一部分是明确的,只写

if name in content:

...但文件的格式是什么?

<强>但...

如果您想在文件中的字典中保存大量用户,则使用 pickle 是更好的选择。 首先你导入泡菜:

import pickle

...你有一个像

这样的字典
  

{“Tom”:10,“Pascal”:12}

在变量得分中,您可以使用

保存它
pickle.dump(scores, open("myfile.p", "wb"))

并用

阅读
scores = pickle.load(open("myfile.p", "rb"))

请参阅this examplesthe Python dok