Python //从给定输入后的行读取

时间:2017-03-11 22:46:12

标签: linux python

我正在尝试让Python在我提供的查询之后出现的文件中查找文本。例如,熟悉的“sources.list”。我希望在文本“deb”的每个实例之后将所有内容都放在同一行中。拿我的Raspberry Pi的“sources.list”:

deb [link]

# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src [link] jessie main contrib non-free rpi

deb [link] jessie main

deb [link] oldstable main

现在我想检索每个“deb”实例后出现的所有内容并将其粘贴到一个单独的文件中。这可能在Python中吗?

1 个答案:

答案 0 :(得分:0)

首先,格拉茨,你就是我这个帐户的原因lol,

其次,假设你像我一样,你在python发行前线,你使用的是python 3(.6),

具体使用字符串在Python中处理得非常好,

我快速做到这一点,让你弄明白其余的事情(对你而言,不只是为了我。)

Python的脏语法允许事物相当通用,同时也非常具体。有几种方法可以完成这项工作但是对于你的特定例子我只使用空间方法,即使它们改变/改变长度和字符构成,它使用空格来隔离结果。

StringYouWantToParse = "deb [link] jessie deb [link] oldstable"

注意字符串中的空格。根据您发布的内容,从列表中提取所有字符串后,这或多或少是您最终会遇到的字符串类型的准确示例。

 _________________________________________
|   Dr.w0bb13z Rx# 30041995000CID-3340R1  |
|_________________________________________|
| IsolatedResults = ["",""]               |  
|                                         |
| cntr   =     0                          |
| space_cntr = 0                          |
|                                         |
| for char in StringYouWantToParse:       |
|    |                                    |
|    |if char is ' ':                     |
|       |space_cntr += 1                  |
|       |                                 |
|       |if (space_cntr % 3) is 0:        |
|          cntr += 1                      |
| else:                                   |
|      IsolatedResults[cntr] += char      |
l_________________________________________l

每天拿3个moo (PS:那个代码是手写脚本。我没有以任何方式对它进行测试。但是由于其简单的性质,我很确定它会起作用,但是再一次,不要让我拥有所有的乐趣,你的代码能力与你真正的学习欲望直接相关。)