Ho il mio file python chiamato convertImage.py e all'interno del file ho uno script che converte un'immagine a mio piacimento, l'intero script di conversione è impostato all'interno di una funzione chiamata convertFile (fileName)esegui script python con la funzione dalla riga di comando, Linux
Ora il mio problema è che ho bisogno di eseguire questo script python dalla riga di comando di linux mentre passo la funzione convertFile (fileName) insieme ad essa.
esempio:
linux user$: python convertImage.py convertFile(fileName)
Questo dovrebbe eseguire lo script python passando la funzione appropriata.
esempio:
def convertFile(fileName):
import os, sys
import Image
import string
splitName = string.split(fileName, "_")
endName = splitName[2]
splitTwo = string.split(endName, ".")
userFolder = splitTwo[0]
imageFile = "/var/www/uploads/tmp/"+fileName
...rest of the script...
return
Qual è il modo giusto per eseguire questo script python e correttamente passare il nome del file per la funzione dalla riga di comando liunx?
Grazie in anticipo
non esiste una cosa del genere. Analizza l'elenco 'sys.argv' e scegli l'azione giusta. Controllare 'argparse' il modulo – JBernardo
Come menzionato da S.Lott,' 'è uno stile molto comune. È meglio che l'utente abbia i nomi dei comandi, non la conoscenza dell'implementazione interna. E usare le parentesi (che richiedono l'escaping in bash) come parte della sintassi richiesta è solo meschino. –
Cascabel
Le parentesi erano solo per ragioni di esempio ma ho apprezzato tutto l'aiuto e ho funzionato usando sys.argv – knittledan