python从一行中处理单词的问题

时间:2019-04-23 18:11:00

标签: python python-3.x

我开始使用python 3创建自动脚本来检查一些ASN(如数字),并且出现了以下问题。 这也是我的第一篇文章,希望我能提供所有信息。

我有一个看起来像这样的测试文件:

AS197655 # first line
AS100 AS10000 AS10002 AS10002 AS10006 # second line

对于这个测试文件,我希望输出如下:

AS197655
AS100
AS10000
AS10002
AS10002
AS10006

这是我尝试过的代码:

with open ("test", 'r') as file:
        for line in file:
         line = line.strip()
         print(line)

如果我运行该代码,我将得到:

AS197655
AS100 AS10000 AS10002 AS10002 AS10006

5 个答案:

答案 0 :(得分:1)

像这样吗?

with open("test", "r") as file:
    for line in file:
        for elem in line.strip().split(" "):
            print(elem)

答案 1 :(得分:1)

您可以使用分割功能分割线。

with open ("test", 'r') as file:
    for line in file:
        for l in line.strip().split():
            print(l)

结果:

AS197655
AS100
AS10000
AS10002
AS10002
AS10006

答案 2 :(得分:0)

您可以将换行符替换为“”,并分割字符串以获取列表。稍后,您可以遍历列表以将内容写入文件。

with open ("sample", 'r') as file:
        for line in file:
          line = line.replace("\n", "").split()
        for word in line:
          print(word)

答案 3 :(得分:0)

str.strip仅从每行中删除周围的空格。为了用空格分隔每一行,可以使用不带参数的str.split

with open ("test", 'r') as file:
    for line in file:
        for y in line.split():
            print(y)

答案 4 :(得分:-6)

请尝试:

data = open("test", 'r').readlines()

data[0]是您的第一个人,data[1]是您的第二个人吗?