Maison > développement back-end > Tutoriel Python > Comment exécuter des scripts dans des sous-répertoires ou des super-répertoires avec un sous-processus ?

Comment exécuter des scripts dans des sous-répertoires ou des super-répertoires avec un sous-processus ?

Susan Sarandon
Libérer: 2024-11-05 04:22:02
original
1021 Les gens l'ont consulté

How to Execute Scripts in Subdirectories or Superdirectories with Subprocess?

Sous-processus dans un sous-répertoire ou un super-répertoire

Lorsque vous tentez d'exécuter un script dans un sous-répertoire ou un super-répertoire à l'aide d'un sous-processus, vous pouvez rencontrer l'erreur « OSError : [Errno 2] Non tel fichier ou répertoire."

Ce problème survient car le code en question appelle le programme "cd", qui est un shell interne. Pour appeler correctement "cd", vous devez utiliser la commande nommée "cd" avec l'argument "shell=True" :

<code class="python">subprocess.call('cd ..', shell=True) </code>
Copier après la connexion

Cependant, ce code est inefficace car un processus ne peut pas modifier le répertoire de travail d'un autre processus dans Systèmes d'exploitation de type UNIX ou Windows.

Au lieu de cela, vous pouvez utiliser la fonction "os.chdir()" ou le "sous-processus" nommé paramètre "cwd" pour modifier le répertoire de travail avant d'exécuter le sous-processus.

Par exemple, pour exécuter "ls" dans le répertoire racine, vous pouvez utiliser :

<code class="python">os.chdir("/")
subprocess.Popen("ls")</code>
Copier après la connexion

ou simplement :

<code class="python">subprocess.Popen("ls", cwd="/")</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal