2016-06-17 9 views
-1

Ich habe ein Programm, das einige Verzeichnisse liest und kopiert diese Dateien dynamisch erstellt. Die Sache ist shutil.copy() scheitert in einigen Dateien, weil sie Sonderzeichen haben wie ', &, (,),', 'so will ich wissen, wie man sie auch dynamisch entkommt. Dieser Zielpfad wird dynamisch erstellt und nur durch Anhängen der Zeichenfolge und nicht durch eine andere Funktion oder Ähnliches.Escape-Sonderzeichen zum Kopieren von Datei in Pfad

Ex:

path = "/home/path/ma/gex/%s/%s/%s/" % (d[c][0],d[c2][1].upper(),driveDict[c2][1]) 

Shutil.copy hält die Ausnahme zu werfen, dass das Verzeichnis nicht existiert, aber es ist bereits erstellt, so kann es die dir nicht finden. Irgendwelche Hilfe, wie man diesen Charakteren entkommt oder shutil sie liest?

EDIT: Dateien sind in einem Linux-Server, bereits ~ 10000 Dateien ohne spezielle Zeichen kopiert.

+0

Siehe http://stackoverflow.com/questions/35817/how-to-escape-os-system-calls -in-python – emnoor

+0

Sie sollten wahrscheinlich 'r" path \ file "' Ich habe versucht, eine TXT-Datei mit 'shuthil.copy' zu kopieren und ihr Name hat', 'Charakter und es hat funktioniert. – direprobs

Antwort

0

Es gibt eine Codierung Problem, fügen Sie einfach diese zwei Zeilen in Python-Code:

# -*- coding: utf-8 -*- 
import unicode_literals 
Verwandte Themen