Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让python读取字符串后的值,然后比较并输出值?_Python - Fatal编程技术网

如何让python读取字符串后的值,然后比较并输出值?

如何让python读取字符串后的值,然后比较并输出值?,python,Python,例如,假设我有一组data.txt: Name1 | Points:100 Name2 | Points:150 Name3 | Points:200 我希望python读取点之后的值:,将其与变量j进行比较,并且仅当值小于变量j时才输出该行 我是Python的完全初学者,如果这看起来很简单,我深表歉意。感谢您的回复:file1=open'data.txt',r' 文件行=文件1.readlines 对于文件中的行\u行: points=intline.split':'[1] 如果点

例如,假设我有一组data.txt:

Name1 | Points:100
Name2 | Points:150
Name3 | Points:200
我希望python读取点之后的值:,将其与变量j进行比较,并且仅当值小于变量j时才输出该行

我是Python的完全初学者,如果这看起来很简单,我深表歉意。感谢您的回复:

file1=open'data.txt',r' 文件行=文件1.readlines 对于文件中的行\u行: points=intline.split':'[1] 如果点 现在我们可以进入下一部分,阅读每行中的点。为此,我使用了split方法。它通过字符“:”将行分隔成一个列表。接受它[1]论点意味着接受第一个“:”之后和下一个“:”之前的任何东西,这在我们的例子中是不存在的。。一个隐藏的假设是,每行中只有一个“:”,后面是点。 然后你有了当前行的值,你可以随意比较

下一次:在stackoverflow中提问时,请给出一个代码示例,说明您已经尝试了什么,哪些不起作用,以及输入和输出的具体示例

您可以使用:

这段代码读取文件中的所有行并逐一迭代。我们找到数字开始的位置,并将其从字符串转换为int进行比较

path = "some/path/to/file.txt"
with open(path, "r") as datafile:
    lines = datafile.readlines()

j = 150
for row in lines:
    row = row.replace("\n", "")
    num_start = row.find(":") + 1
    # get chars from num_start till the end and convert to int
    point = int(row[num_start:])
    print(point)
    if point > j:
        print(row)

希望这能有所帮助。

嘿,谢谢你的回答,我正在使用这段代码,我在这一行遇到了一个语法错误:if intpoints import re text = open('data.txt') line = text.readline() while line: out = re.findall('\d+', ) line = text.readline() if out < j: print(out) text.close()