Come se avessimo la funzione source()
per eseguire un programma R
in un altro programma R
in R studio, come posso eseguire un programma python in un altro programma python?Equivalente di source() di R in Python
5
A
risposta
4
Dato 2 script python: first.py
e second.py
, il solito modo di eseguire il primo dal secondo è qualcosa nelle linee di:
first.py:
def func1():
print 'inside func1 in first.py'
if __name__ == '__main__':
# first.py executed as a script
func1()
second.py:
import first
def second_func():
print 'inside second_func in second.py'
if __name__ == '__main__':
# second.py executed as a script
second_func()
first.func1() # executing a function from first.py
modifiche:
- Si potrebbe anche optare per il semplice
execfile("second.py")
se lo si desidera (anche se è solo all'interno dello spazio dei nomi chiamante). - E un'opzione finale utilizza
os.system
in questo modo:
os.system("second.py")
.
0
Se si è abituati a effettuare il sourcing direttamente da GitHub, è possibile utilizzare il pacchetto di richieste per scaricare il file * .py raw con un get http e quindi eseguire il file.
import requests
exec(requests.get('http://github.myorg.net/raw/repo/directory/file.py').text)
Diniego: Sono un utente R imparare Python, quindi questo potrebbe essere violare alcune best practice Python
ho trovato il 'execfile' di essere più simile a' fonte fissa di R – vpipkt