Python-future: `futurize **/*.py` funktioniert nicht auf tief verschachtelten Repositorys mit bash oder zsh

Erstellt am 10. Okt. 2015  ·  1Kommentar  ·  Quelle: PythonCharmers/python-future

Ich versuche, futurize https://github.com/suchow/Dissertate aus dem Stammverzeichnis des Repos zu verwenden und es kehrt zurück

$ futurize --stage1 **/*.py
RefactoringTool: Skipping implicit fixer: idioms
RefactoringTool: Skipping implicit fixer: ws_comma
RefactoringTool: No files need to be modified.

Ich weiß, dass es innerhalb von assets/schools/Generic/generic.py (insbesondere print "" in https://github.com/suchow/Dissertate/blob/master/assets/) fehlerhafte Druckanweisungen gibt (nur python2 ). school/Generic/generic.py#L11 ). Ich könnte es manuell reparieren, aber ich habe dies tatsächlich als Test verwendet, um sicherzustellen, dass futurize beliebig tief in die Dateistruktur gelangen kann, die meistens keine Python-Dateien ist, aber schließlich Python-Dateien enthält.

Ich verwende bash als meine Shell, und ich habe auch zsh $(futurize --stage1 **/*.py) ausprobiert, und beide geben zurück, dass keine Dateien geändert werden müssen.

Wenn ich cd assets/schools/ dann funktioniert es:

futurize --stage1 **/*.py
RefactoringTool: Skipping implicit fixer: idioms
RefactoringTool: Skipping implicit fixer: ws_comma
RefactoringTool: Refactored Generic/generic.py
--- Generic/generic.py  (original)
+++ Generic/generic.py  (refactored)
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+from __future__ import print_function
 from docx import Document


@@ -8,7 +9,7 @@
         self.document = Document('../assets/word-base/dissertate.docx')

     def fill(self):
-        print ""
+        print("")

     def save(self):
         self.document.save('dissertation.docx')
RefactoringTool: Files that need to be modified:
RefactoringTool: Generic/generic.py

Es muss also etwas mit der rekursiven Suche zu tun haben.

0.18 docs

Hilfreichster Kommentar

Update: futurize --stage1 . funktioniert aus dem Root-Verzeichnis. Vielleicht sollte das in der Dokumentation geändert werden? Gerne, aber es scheint seltsam, dass dies nicht die empfohlene Standardmethode ist (im Gegensatz zu futurize --stage1 **/*.py … was mich denken lässt, dass sie aus einem bestimmten Grund nicht in den Dokumenten enthalten war, obwohl ich nicht ergründen kann, was? das war.

>Alle Kommentare

Update: futurize --stage1 . funktioniert aus dem Root-Verzeichnis. Vielleicht sollte das in der Dokumentation geändert werden? Gerne, aber es scheint seltsam, dass dies nicht die empfohlene Standardmethode ist (im Gegensatz zu futurize --stage1 **/*.py … was mich denken lässt, dass sie aus einem bestimmten Grund nicht in den Dokumenten enthalten war, obwohl ich nicht ergründen kann, was? das war.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen