refatorando vários códigos-fonte

0

Como adiciono uma nova linha no começo de cada arquivo que tenho em um diretório? Como faço para eliminar espaços e guias inúteis no final de cada linha de cada arquivo no meu diretório?

    
por johnny 10.11.2011 / 20:00

2 respostas

1

Aqui está um script muito básico que eu juntei. Substitua a constante DIR pelo caminho para o diretório que contém os arquivos.

import os

DIR = "" # Change to the directory which contains the files

for srcfile in os.listdir(DIR):
    original = os.path.join(DIR, srcfile)
    temp = os.path.join(DIR, "%s_tmp" % srcfile)
    with open(original) as infile:
        with open(temp, 'w') as outfile:
            outfile.write("\n")
            for line in infile:
                outfile.write("%s\n" % line.rstrip())

    os.remove(original)
    os.rename(temp, original)
    
por Timo 10.11.2011 / 20:36
1

Aqui está uma variação simples usando um script bash que insere uma linha vazia no início de cada arquivo em um diretório passado como um argumento que deve existir.

#!/bin/bash
# requires one argument that is path to a directory whose files you want
# to add an initial line to

for f in $(ls $1)
do
    mv $1/$f $1/$f.orig
    echo -e "\t" > $1/$f
    cat $1/$f.orig >> $1/$f
    rm $1/$f.orig
done
    
por kyleN 11.11.2011 / 02:35