Domanda

Vorrei trascinare e rilasciare il mio file di dati su uno script Python e farlo elaborare il file e generare output. Lo script Python accetta il nome del file di dati come parametro della riga di comando, ma Esplora risorse non consente allo script di essere una destinazione di rilascio.

C'è qualche tipo di configurazione che deve essere fatta da qualche parte per questo lavoro?

È stato utile?

Soluzione

Certo. Da un un articolo sulla tecnologia insensata chiamato & Quot ; Rendi droppabili gli script Python in Windows & Quot; , puoi aggiungere un gestore di drop aggiungendo una chiave di registro:

  

Qui & # 8217; s un file di importazione del registro che puoi usare per fare questo. Copia il   seguito in un file .reg ed eseguirlo   (Assicurati che le tue estensioni .py   sono mappati su Python.File).

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Python.File\shellex\DropHandler]
@="{60254CA5-953B-11CF-8C96-00AA00B8708C}"

Questo fa sì che gli script Python utilizzino il gestore di drop WSH, che è compatibile con nomi di file lunghi. Per utilizzare il gestore di nome file breve, sostituire il GUID con 86C86720-42A0-1069-A2E8-08002B30309D.

Un commento in quel post indica che si può abilitare il drop on " nessun file Python per console (.pyw) " oppure " file Python compilati (.pyc) " utilizzando le classi Python.NoConFile e Python.CompiledFile.

Altri suggerimenti

scrivi un semplice script di shell (file.bat)

"C:\python27\python.exe" yourprogram.py %*

dove %* rappresenta tutti gli argomenti passati allo script.

Ora trascina & amp; rilascia i tuoi file di destinazione sull'icona <=>.

Con un pitone installato - almeno 2.6.1 - puoi semplicemente trascinare e rilasciare qualsiasi file su uno script Python.

import sys
droppedFile = sys.argv[1]
print droppedFile

sys.argv[0] è lo script stesso. sys.argv[n+1] sono i file che hai lasciato cadere.

Prova a usare py2exe. Usa py2exe per convertire il tuo script Python in un eseguibile di Windows. Dovresti quindi essere in grado di trascinare e rilasciare i file di input nello script in Esplora risorse. Dovresti anche essere in grado di creare un collegamento sul desktop e rilasciare i file di input su di esso. E se il tuo script Python può prendere un elenco di file, dovresti essere in grado di trascinare e rilasciare più file sul tuo script (o collegamento).

Crea un collegamento al file. Nel caso in cui non hai i file .py aperti di Python per impostazione predefinita, vai nelle proprietà del collegamento e modifica la destinazione del collegamento per includere la versione di Python che stai utilizzando. Ad esempio:

Target: C: \ Python26 \ python.exe < percorso target scorciatoia >

Sto pubblicando questo perché non volevo modificare il registro e la soluzione alternativa a .bat non ha funzionato per me.

1). crea una scorciatoia di .py
2). tasto destro del mouse - > proprietà
3). prefisso " Target: " con " python " quindi esegue .py come argomento nel comando python
o
1). creare un .bat
2). python some.py% *

queste versioni di scorciatoie sono più semplici per me per fare quello che sto facendo
altrimenti lo convertirei in un .exe, ma preferirei semplicemente usare Java o C / C ++

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top