Ab Catalina unterstützt Mac OS Datenschutzkontrollen für bestimmte Ordner. Wenn beispielsweise ein Skript versucht, eine Datei auf dem Desktop mit „Mehrere Dateien importieren“ zu lesen, wird ein Popup-Fenster angezeigt, das besagt, dass JMP Pro 16.app auf Dateien in Ihrem Desktop-Ordner zugreifen möchte . Wenn Sie „OK“ auswählen, funktioniert alles einwandfrei. Wenn Sie jedoch „Nicht zulassen “ auswählen, schlägt die MFI-Anweisung ohne Laufzeitfehler fehl, kann aber später fehlschlagen (da keine Datentabelle zurückgegeben wurde). Ein Beispielcode ist:
fileList = Pick File( "Choose Insight File(s)", "~/Downloads", {"csvOnly|csv"}, 1, 0, "", "multiple" );
:
Multiple File Import( ... );
dt = Current Data Table();
allCols = dt << Get Column Names( String );In diesem Fall gibt es keine aktuelle Datentabelle, sodass dt nicht definiert ist und der Befehl „Spaltennamen abrufen“ mit der folgenden Meldung fehlschlägt:
Send Expects Scriptable Object in access or evaluation of 'Send' , dt << /*###*/Get Column Names( String ) /*###*/
Die Frage lautet: Welches ist die empfohlene Methode, um festzustellen, dass der Befehl „Mehrere Dateien importieren“ eine Datei nicht öffnen und lesen konnte?
Wenn Sie im Popup „Nicht zulassen“ auswählen, wird die Frage in Zukunft nicht mehr gestellt und MFI schlägt einfach stillschweigend fehl. (Beachten Sie, dass die Einstellung jederzeit in den Systemeinstellungen, „Sicherheit und Datenschutz“, „Datenschutz“, „Dateien und Ordner“, „JMP Pro 16.app“ geändert werden kann.)
Allgemeiner gefragt: Warum hat der Befehl „Datei auswählen“ dem Navigationsfenster überhaupt den Zugriff auf Dateien auf dem Desktop ermöglicht? Es scheint, dass private Ordner im Navigationsfenster ausgeschlossen werden sollten.
Ich sehe auch, dass dies in JMP 15 kein Problem ist. Die Wahrung der Ordner-Privatsphäre ist also offenbar etwas, das in JMP 16 hinzugefügt wurde. (Ich verwende 16.2.0.)
Hi,
Ich denke, dass Sie sich vielleicht an den technischen Support wenden sollten ( support@jmp.com ) mit dieser Abfrage.
Grüße,
Phil
Nachdem ich dieses Problem weiter untersucht habe, habe ich dieses Problem der Entwicklung gemeldet. Es scheint, dass macOS nicht die erforderliche Eingabeaufforderung anzeigt ( JMP Pro 16.app möchte auf Dateien in Ihrem Ordner <> zugreifen ) für jedes Verzeichnis.Es scheint dies nur für das Download-Verzeichnis zu tun. Andere Verzeichnisse werden vollständig ignoriert. Unser Entwicklungsteam wird dieses Problem weiter untersuchen.
Um festzustellen, wann der MFI-Import möglicherweise fehlschlägt, wenn der Ordnerzugriff nicht gewährt wird, sollten Sie Folgendes in Betracht ziehen:
mfi = Multiple File Import(
<<SET folder=""></SET>
Vielen Dank, Dahlia, für deine Geduld und Entschlossenheit bei der Charakterisierung. Ich freue mich auf ein zukünftiges JMP-Update.
Ich habe die von Ihnen bereitgestellte Logik implementiert, und mein Skript funktioniert jetzt sehr gut und vorhersehbar.