Warum werden Postscript-Dateien im Python-Verzeichnis erstellt?

8

Ich habe ein Python-Skript, das einige Python-Module importiert, zB bs4 , json , os , requests , signal , sys und time . Manchmal bemerke ich in meinem PWD die folgenden Dateien:

%Vor%

Dies sind jedoch keine Python-Dateien, sondern Postscript-Dateien. Zum Beispiel:

%Vor%

Ich habe noch nie etwas in Bezug auf Postscript in diesem Verzeichnis ausgeführt. Außerdem, auch wenn ich rm der Dateien scheinen sie nach einiger Zeit wieder zu kommen, so etwas in regelmäßigen Abständen sie zu erstellen. Da sie die gleichen Namen haben wie die Python-Module, die im Python-Skript in diesem Verzeichnis importiert werden, vermute ich eine Korrelation. Was könnte der Grund sein?

    
dotancohen 27.06.2013, 08:26
quelle

1 Antwort

15

Ich werde einen Stich machen ... Das sieht aus wie etwas, das ich manchmal sehe, wenn ich versehentlich ein Skript aufruft, ohne einen Python-Interpreter anzugeben, z. Ich sage ./foo.py anstelle von python foo.py oder habe am Anfang des Skripts keine #! -Zeile. Wenn das geschieht, schlägt das Skript nach einiger Zeit mit einem Syntaxfehler fehl, und das Verzeichnis ist voll mit Dateien mit dem Namen sys, os, time, und allen - genau die Module, die ich in meinem Skript importiert habe . Diese neuen Dateien sind ziemlich groß (7 MB). Doing head sys zeigt Dateiinhalte im Wesentlichen die gleiche wie Ihre. Ich benutze Linux (Ubuntu) und keine IDE für meine Python-Entwicklung, nur eine Bash-Shell.

Hier ist, was ich denke, zumindest auf Linux: Wenn Sie man import sehen, sehen Sie

  

import - speichert jedes sichtbare Fenster auf einem X-Server und gibt es als   ein          Bilddatei. Sie können ein einzelnes Fenster, den gesamten Bildschirm oder ein beliebiges anderes erfassen          rechteckiger Teil des Bildschirms.

     

[...]

     

Das Importprogramm ist ein Mitglied der ImageMagick (1) -Suite von Tools.          Verwenden Sie es, um einige oder alle von einem X-Server-Bildschirm zu erfassen und das Bild zu speichern          in eine Datei.

Ich vermute also, dass die Shell die erste Zeile von Python import -Anweisungen als /usr/bin/import -Befehl interpretiert und das "Argument" (Modulname) als Namen der zu speichernden Bilddatei verwendet. Daher das PS / ImageMagick-Zeug am Anfang der Datei.

Auch hier sehe ich das nur, wenn ich gelegentlich mit einem Python-Interpreter ausspreche und mein Skript aufruft. Da ich Ihren Code oder die Nutzungsbedingungen nicht kenne, kann ich nicht garantieren, dass dies Ihr genaues Problem ist, aber ich vermute, dass Sie etwas ähnliches (vielleicht unwissentlich) tun. Ich hoffe, das hilft und bringt dich auf den richtigen Weg.

BEARBEITEN: Hier ist ein Experiment, das im Grunde Ihr Problem reproduziert. Code:

%Vor%

Ich rufe es ohne Python auf:

%Vor%

Neue Dateien sind da:

%Vor%

Sehen Sie sich deren Inhalt an:

%Vor%

Auch hier hoffe ich, dass dies etwas Licht spendet und etwas hilft.

    
DMH 27.06.2013, 15:29
quelle

Tags und Links