Python如何用关键字替换和追加文件文本中的URL?

2024-10-06 07:09:10 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
How to search and replace text from one file to another using Python?

{cd1>有^:

<echo http://photobucket.com/98a267d32b056fb0a5c8c07dd4c35cc5.jpg ?>


http://lincoln.com/view/filename1.jpg

http://lincoln.com/banner1/filename2.jpg

http://lincoln.com/banner1/filename3.jpg

我有file2.txt

^{pr2}$

我想要:

如果文件名存在于文件1中,但不在文件2中:

^{3}$

否则,如果file1和file2中存在filename:

      the version in file2 replaces the line in file1

否则,如果文件名存在于文件2中,但不在文件1中:

      do nothing

帮我编码!谢谢!在


我试过这个代码: 你能帮我编辑代码吗!在

def file_merge(file1,file2):
    file1contents = list()
    file2contents = list()
    file1=open('file1.txt','r')
    for line in file1:
        line= line.replace('\n','')
        line= line.split('/')

        file1contents.append(line)
    file1.close()
    file2=open('file2.txt','r')
    for line in file2:
        line = line.replace('\n','')
        line = line.split('/')
        file2contents.append(line)
    file2.close()
    file3contents=file1contents

    for x in file2contents:
        for y in file1contents:
            if x[-1] == y[-1] and x[2]==y[2]:
                file3contents[file3contents.index(y)]=x

           here I want code :if filename exists in file1 but not in file2:
                             remove line have filename in file 1





    file3 = open('out.txt','w')
    for line in file3contents:

        file3.write(str('/'.join(line))+'\n')

    file3.close()

file_merge('file1.txt','file2.txt')

Tags: 文件intxtcomhttpforlinefile1
1条回答
网友
1楼 · 发布于 2024-10-06 07:09:10

如果您的url是示例中的“http”类型,那么这就可以了。在

import os
base = os.path.basename

f2_lines = [line.strip() for line in open("file2.txt")]

mylines = []
with open("file1.txt") as f:
    for line in f:
        line = line.strip()
        if not line.startswith('http'):
            mylines.append(line)
            continue
        filepath = base(line) 
        for f2_line in f2_lines:
            if filepath == base(f2_line):
                mylines.append(f2_line)
                break

with open("file3.txt", 'w') as f:
    f.write('\n'.join(mylines))

如果不想创建第三个文件3,只需使用file1.txt,它将被覆盖。在

相关问题 更多 >