Domanda

Ok ho questi comandi utilizzati in batch e volevo sapere i comandi in pitone che avrebbero un effetto simile, tanto per essere chiari non voglio solo uso os.system ( "il comando qui") per ciascuno di essi. Per esempio in lotti se si voleva un elenco di comandi si digiterà Guida , ma in python è necessario digitare Guida () e quindi Moduli .. . non sto cercando di utilizzare lotti in uno script python, voglio solo sapere le somiglianze in entrambe le lingue. Come in inglese si dice "Ciao", ma in francese si dice "Bonjour" non mescolare le due lingue. (heres l'elenco dei comandi / funzioni id piacerebbe sapere:

  1. cambiare la directory corrente
  2. cancellare lo schermo della console
  3. cambiare la richiesta di qualcosa di diverso da >>>
  4. come fare una funzione di loop
  5. redirezioni / tubi
  6. avviare un programma di exteral (come notepad o vernice) da uno script
  7. come chiamare o importare un altro script python
  8. come ottenere aiuto con un modulo specifico, senza dover digitare Guida ()

@ 8: (? Nel gruppo che sarebbe stato comando / )

A CURA COMPLETAMENTE

Grazie a Adnvance!

È stato utile?

Soluzione

È possibile non solo di tradurre meccanicamente script batch per Python e la speranza che funziona. E 'un linguaggio diverso, con diversi linguaggi e modi di fare le cose, per non parlare delle diverse finalità.

ho elencato alcuni funzioni relative a ciò che si vuole qui di seguito, ma non c'è alcun sostituto per solo andare e imparare Python!


  1. os.chdir

  2. os.system("cls") è probabilmente la soluzione più semplice

  3. Cambia sys.ps1 e sys.ps2.

  4. No, non ci sono goto in Python. Usa for e while loop, invece.

  5. Non ha senso, l'utilizzo di Python IO invece.

  6. subprocess.Popen

  7. Non ha senso, l'uso import o subprocess.Popen posto.

  8. help

Altri suggerimenti

La maggior parte delle cose che hai citato (start, cls etc.) non sono "comandi batch", sono programmi eseguibili che svolgono determinati compiti. Il "guscio" DOS semplicemente esegue questi quando li incontra in un file. In questo senso, "pitone" è l'equivalente di un singolo eseguibile (come cls).

Ora che questo è chiaro, cd (e la maggior parte degli altri compiti specifici OS) sono realizzate utilizzando il OS modulo . Non c'è un'unica istruzione Python per cancellare lo schermo - che sarebbe uno spreco. Cambiare il prompt dell'interprete Python può essere fatto assegnando a sys.ps1. I loop sono fatte usando while o for. Reindirizzamento non avviene. È possibile comunque utilizzare il modulo subprocess per eseguire sottocomandi e inviare le loro uscite di file o altri flussi. A partire comandi viene fatto usando la funzione subprocess.Popen. Per ottenere aiuto, è possibile fare help("command") o se si sta utilizzando ipython , basta dire command? e premi invio.

Si dovrebbe passare attraverso il esercitazione piuttosto che cercare di mappare commands batch per Python .

Python non è una shell di sistema, Python è un linguaggio di programmazione multi-paradigma.

Se si desidera confrontare .bat con qualsiasi cosa, confrontarla con sh o bash. (Si possono avere quelli su varie piattaforme troppo - per esempio, per le finestre sh è nel pacchetto MinGW).

Io sono praticamente affrontando lo stesso problema come voi, daniel11. Come soluzione, sto imparando i comandi batch e il loro significato. Dopo ho capito chi, mi accingo a scrivere un programma in Python che fa lo stesso o compie la stessa operazione.

Grazie a Adam V. e katrielatex per la loro comprensione e suggerimenti.

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