Nachdem Gerold sich rangemacht hat zwei kleinere Scripte zu entwerfen um die Zeilenumbrüche jeweils fürs Betriebssystem zu ändern und ich in letzter Zeit viel mit denen zu tun hatte habe ich mir gedacht. Hmm. Machste ne "GUI" drauß.
Das ganze ist doch auf Konsole gebannt worden düfte allerdings nicht DAS Problem sein.
Es ist im Moment noch ungetestet (zumindest nicht alle Szenarien).
Ich würde mich sehr über Feedback jeder Art freuen!
Hier nun das Progrämmchen:
wie unten zu sehen --> im Moment nicht 100%ig funktionsfähig! Bitte hilf mir die Fehler zu finden!
Dies ist die aktuell neueste Version! Bitte austesten! Danke!
Es wird nach folgendem Shema benutzt:
python unix-dos-converter.py -d2u -o /path/to/directory
Code: Alles auswählen
#!G:\Server\Python\python.exe
# -*- coding: iso-8859-1 -*-
import os
from sys import argv
def dos2unix(filename):
infile = file(filename, "rb")
outfile = tempfile.TemporaryFile()
for line in infile:
line = line.replace("\r\n", "\n")
outfile.write(line)
infile.close()
infile = file(filename, "wb")
outfile.seek(0)
for line in outfile:
infile.write(line)
infile.close()
outfile.close()
def unix2dos(filename):
infile = file(filename, "rb")
outfile = tempfile.TemporaryFile()
for line in infile:
line = line.replace("\r\n", "\n")
line = line.replace("\n", "\r\n")
outfile.write(line)
infile.close()
infile = file(filename, "wb")
outfile.seek(0)
for line in outfile:
infile.write(line)
infile.close()
outfile.close()
try:
argv[1]
z = 1
print 'Parameterliste in argv: ' , argv
for i in argv:
try:
if str(argv[z]) in ['-o', '-O']:
dir_path = z + 1
dir_path = argv[dir_path]
try:
for file in os.listdir(dir_path):
for i in argv:
if str(i) in ['-d2u', '-D2U']:
dos2unix(file)
print 'habe %s erfolgreich geaendert!' % file
elif str(i) in ['-u2d', '-U2D']:
unix2dos(file)
print 'habe %s erfolgreich geaendert!' % file
else:
print 'Bitte aehle -d2u oder -u2d'
break
except OSError:
print 'Der Ordner, den du ausgewaehlt hast - %s - existiert nicht!' % dir_path
elif argv[z] in ['-f', '-F']:
file_path = z + 1
file_path = argv[file_path]
try:
for i in argv:
if str(i) in ['-d2u', '-D2U']:
dos2unix(file_path)
print 'habe %s erfolgreich geaendert!' % file_path
elif str(i) in ['-u2d', '-U2D']:
unix2dos(file_path)
print 'habe %s erfolgreich geaendert!'% file_path
else:
print 'Bitte waehle -d2u oder -u2d'
break
except:
break
except IndexError:
pass
z+=1
except IndexError:
print 'Unix - DOS - Converter'
print '----------------------\n'
print 'Bitte waehle einen der folgenden Befehle beim aufrufen des Scriptes!\n'
print '-d2u Aendere die Zeilenumbrueche von DOS zu Unix'
print '-u2d Aendere die Zeilenumbrueche von Unix zu DOS'
print '-o path/to/directory Aendere die Zeilenumbrueche von allen Dateien im Ordner'
print '-f path/to/file.txt Aendere die Zeilenumbrueche einzig und allein von einer Datei'
print
print 'Zum Beispiel: -d2u -o /path/to/directory'
MfG EnTeQuAk