从txt文件中抓取链接

时间:2016-10-01 01:28:46

标签: python python-3.x

我有一个文件txt,其中有几行......其中一些是链接。我的问题是:如何捕获所有这些链接并将其保存在另一个txt文件中?我是新手。

我试过这个,但它不起作用:

filee = open("myfile.txt").readlines()
out_file = open("out.txt","w")
out_file.write("")
out_file.close()

for x in filee:
    if x.startswith("http"):
        out_file.write(x)
        print (x)

1 个答案:

答案 0 :(得分:4)

您无法写入已关闭的文件。只需在代码末尾移动out_file.close():

filee = open("myfile.txt").readlines()
out_file = open("out.txt","w")
out_file.write("")

for x in filee:
    if x.startswith("http"):
        out_file.write(x)
        print (x)
out_file.close()

这是一个更清洁的版本:

# open the input file (with auto close)
with open("myfile.txt") as input_file:

    # open the output file (with auto close)
    with open("out.txt", "w") as output_file:

        # for each line of the file
        for line in input_file:

            # append the line to the output file if start with "http"
            if line.startswith("http"):
                output_file.write(line)

您还可以将两者结合使用:

# open the input/output files (with auto close)
with open("myfile.txt") as input_file, open("out.txt", "w") as output_file:

    # for each line of the file
    for line in input_file:

        # append the line to the output file if start with "http"
        if line.startswith("http"):
            output_file.write(line)