Python 文件读取

1 投票
4 回答
4578 浏览
提问于 2025-04-15 18:52

我有一个文件 /tmp/gs.pid,里面的内容是:

client01: 25778

我想从这个文件中提取第二个单词。

也就是 25778

我试过下面的代码,但没有成功。

>>> f=open ("/tmp/gs.pid","r")
>>> for line in f:
    ...   word=line.strip().lower()
    ...   print "\n -->" , word

4 个回答

1

在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够清晰,或者是我们对某些概念理解得不够透彻。比如,有人可能会在使用某个功能时,发现它并没有按照预期的方式工作。这时候,我们就需要仔细检查代码,看看是不是哪里出了问题。

此外,编程的世界里有很多工具和库可以帮助我们更高效地完成任务。了解这些工具的用法,可以让我们的工作变得更加轻松。记得多去查阅资料,向其他人请教,这样才能不断提高自己的编程能力。

总之,遇到问题时不要气馁,耐心分析,逐步解决,编程的乐趣就在于不断学习和探索。

word="client01: 25778"
pid=word.split(": ")[1] #or word.split()[1] to split from the separator
1

在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在另一个地方使用这些数据。这个过程就像是把水从一个水桶倒到另一个水桶里。我们需要确保水不会洒出来,也就是数据不会丢失。

有些时候,我们会用到一些工具或者库来帮助我们完成这个任务。这些工具就像是水管,能够让我们更方便地把水从一个地方转移到另一个地方。使用这些工具可以让我们的工作变得更简单、更高效。

在处理数据时,我们还需要注意数据的格式。有些数据可能是数字,有些可能是文字,甚至还有可能是图片。就像不同种类的水,虽然都是水,但在使用时需要不同的容器来装。

总之,处理数据的过程需要我们小心翼翼,确保每一步都做到位,这样才能顺利完成任务。

>>> open("/tmp/gs.pid").read().split()[1]
'25778'
7

试试这个:

>>> f = open("/tmp/gs.pid", "r")
>>> for line in f:
    ...   word = line.strip().split()[1].lower()
    ...   print " -->", word
>>> f.close()

这个代码会把每一行的第二个单词打印出来,并且会把它变成小写字母。split() 这个函数会把你的行按照空格分开,返回一个列表,然后用 [1] 来获取这个列表中的第二个元素,lower() 则会把结果转换成小写字母。需要注意的是,最好先检查一下这一行是否至少有两个单词,比如:

>>> f = open("/tmp/gs.pid", "r")
>>> for line in f:
    ...   words = line.strip().split()
    ...   if len(words) >= 2:
    ...      print " -->", words[1].lower()
    ...   else:
    ...      print 'Line contains fewer than 2 words.'
>>> f.close()

撰写回答