Re: Probleme mit shutil.move ?
Verfasst: Dienstag 20. Januar 2015, 12:02
So startswith() wars - jetzt geht's
Hatte ja auch schon MagBen vorgeschlagen
Gracias ...
Hatte ja auch schon MagBen vorgeschlagen
Gracias ...
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
HAbe es leider noch nicht verstanden wie du das meinst:Hyperion hat geschrieben:Dann schreib das doch bitte das nächste MalJoB hat geschrieben:Lieber moderator,
hol die Pfade zum move aus 2 txt, deswegen ist doch nicht alles falsch?
Zumindest funktioniert es für meine Ansprüche
Dateien sollte man immer mittels ``with open(...) as file_handler`` öffnen (spart das explizite Schließen und tut das auch sauber im Exceptionfall!).
Ich würde mir auch eine Funktion schreiben, die die korrespondierenden Dateinamen als Tupel liefert und dann das ``shutil.move`` separat aufrufen, also in etwa so:Code: Alles auswählen
def get_filenames_from(filename): with open(filename) as f: for path in f: yield f def main(): sources = get_filenames_from("...") destinations = get_filenames_from("...") for source, destination in zip(sources, destinations): shutil.move(source, destination)
Code: Alles auswählen
import shutil, os, sys, re, fnmatch
from glob import glob
# import numpy as np
##QFile = "R:\\natura 2000\\SG-Besprechungen\\Migration2015_Q_Test.txt"
##ZFile = "R:\\natura 2000\\SG-Besprechungen\\Migration2015_Z_Test.txt"
QFile = r"R:\natura 2000\SG-Besprechungen\Migration2015_Q.txt"
ZFile = r"R:\natura 2000\SG-Besprechungen\Migration2015_Z.txt"
##QFile = "R:\\natura 2000\\SG-Besprechungen\\Migration2015_Q_MaPOrdner.txt"
##ZFile = "R:\\natura 2000\\SG-Besprechungen\\Migration2015_Z_MaPOrdner.txt"
def get_filenames_from(QFile):
with open(QFile) as f:
for path in f:
yield f
def main():
sources = get_filenames_from(QFile)
destinations = get_filenames_from(ZFile)
for source, destination in zip(sources, destinations):
# shutil.move(source, destination)
print (source, destination)
main()
Code: Alles auswählen
for path in f:
for line in f(path.strip(), "r"):
yield f
Code: Alles auswählen
def get_filenames_from(QFile):
with open(QFile) as f:
for path in f:
yield path.strip()
Du solltest schon versuchen zu verstehen was der Code macht. Wenn man einfach nur Code rät und sich nicht wirklich dafür interessiert, dann kommt bei einer Korrektur so ein Murks heraus wie du ihn fabriziert hast.JoB hat geschrieben:Code: Alles auswählen
for path in f: for line in f(path.strip(), "r"): yield f
Code: Alles auswählen
for path in f:
yield path.strip()
Code: Alles auswählen
def get_values():
yield 2
yield 3
yield 5
yield 8
for result in get_values():
print(result)
Code: Alles auswählen
def get_squares(iterable):
for value in iterable:
yield value ** 2
numbers = range(10)
for result in get_squares(numbers):
print(result)