Python Forum
Replace lines from one .txt file to another
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Replace lines from one .txt file to another
#14
(Jun-24-2017, 05:22 AM)Tumppi Wrote:
(Jun-23-2017, 08:19 PM)Ofnuts Wrote: This is the purpose of "functions"

Note that you are opening/closing all the files each time, if they are big the performance is going to be awful. You can open the target file once for all before calling the functions (replace parameter with its name with a parameter that hold the open file object). There is likely a simpler logic (fixed intervals) that allows you top open the two source files once for all, especially if they are always read/copied in the forward direction. In which case your code would just be a short loop.

Files are small, how it possible to repeat those lines where "w" and "d" values are with fixed values?

Look my last post, there are same cycle every 4 blocks after #4 command line...

You can create tuples that indicate what the ranges of lines are, and then iterate the tuples:

def copyFileLines(fromFileName,toFileName,start,end):
   linesToCopy=range(start,end)
   with open(fromFileName) as fromFile, open(toFileName, 'a') as toFile:
       for i, line in enumerate(fromFile, 1):
           if i in linesToCopy: 
               toFile.write(line)
    
# use it:
fileName1='file1.txt'
fileName2='file2.txt'
fileName3='file3.txt'
lineRanges=(16,30,20,20),(36,52,42,42),(58,72,62,62),(78,94,84,84),(98,114,104,104)

for start1,stop1,start2,stop2 in lineRanges: 
   copyFileLines(fileName1,fileName3, w+start1,d+stop1)
   copyFileLines(fileName2,fileName3, w+start2,d+stop2)
The lineRanges tuples can be values where d and w  have already been added. And if there is some "logic" in the values you can compute them instead of entering them all by hand.
Unless noted otherwise, code in my posts should be understood as "coding suggestions", and its use may require more neurones than the two necessary for Ctrl-C/Ctrl-V.
Your one-stop place for all your GIMP needs: gimp-forum.net
Reply


Messages In This Thread
RE: Replace lines from one .txt file to another - by Ofnuts - Jun-24-2017, 10:41 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Replace a text/word in docx file using Python Devan 4 3,696 Oct-17-2023, 06:03 PM
Last Post: Devan
  Need to replace a string with a file (HTML file) tester_V 1 800 Aug-30-2023, 03:42 AM
Last Post: Larz60+
  Replace columns indexes reading a XSLX file Larry1888 2 1,016 Nov-18-2022, 10:16 PM
Last Post: Pedroski55
  Delete multiple lines from txt file Lky 6 2,375 Jul-10-2022, 12:09 PM
Last Post: jefsummers
  How to do a mass replace within a CSV file? cubangt 9 5,505 May-09-2022, 06:52 PM
Last Post: snippsat
  I get an FileNotFouerror while try to open(file,"rt"). My goal is to replace str decoded 1 1,432 May-06-2022, 01:44 PM
Last Post: Larz60+
  failing to print not matched lines from second file tester_V 14 6,228 Apr-05-2022, 11:56 AM
Last Post: codinglearner
  Extracting Specific Lines from text file based on content. jokerfmj 8 3,125 Mar-28-2022, 03:38 PM
Last Post: snippsat
  Importing a function from another file runs the old lines also dedesssse 6 2,621 Jul-06-2021, 07:04 PM
Last Post: deanhystad
  [Solved] Trying to read specific lines from a file Laplace12 7 3,613 Jun-21-2021, 11:15 AM
Last Post: Laplace12

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020