10
votes

Démarrer Python Idle à partir de la ligne de commande pour modifier des scripts

J'ai essayé de nombreuses variantes de cette commande: idile.py -e-fil-fichier , mais il commence simplement à rainer comme normal, ne pas ouvrir des fenêtres supplémentaires pour l'édition et ne pas jeter des erreurs. < / p>

Alors, comment puis-je faire l'équivalent d'ouverture inactif, fichier> ouvert> FilePath via la ligne de commande (ou peut-être même un module Python)?


0 commentaires

7 Réponses :


6
votes

Fabriquez un nouveau fichier texte et placez quelque chose comme ceci:

C:\Python26\Lib\idlelib\idle.pyw "C:\file1.py" "C:\file2.py"


8 commentaires

Cela ne fonctionne pas pour moi. Il a les mêmes résultats que mon exemple.


Peut-être qu'il y a quelque chose qui ne va pas avec ma version de ralenti. En tant que test, j'ai essayé Idle -h , lequel selon pyshell.py devrait imprimer l'aide. Il n'a ouvert que la coquille, aucune sortie. Quelle version de Python utilisez-vous? (2.6 pour moi (éditer: on dirait que vous êtes aussi)))


J'ai trouvé une solution de contournement: python "c: \ python26 \ lib \ idlelib \ idile.py" "c: \ file1.py" alors quelque chose avec l'argument qui passe ne fonctionnait tout simplement pas. Je ne sais pas quoi, mais bon, ça marche!


idle.pyw n'a pas fonctionné pour moi, mais le même dossier a un idle.bat :)


Si exécuter idile.pyc ne fonctionne pas directement, alors l'association de fichiers est probablement fausse. Assurez-vous que assoc .pyw est défini sur python.noconfile et que la commande pour ftype python.noconfile a le fichier args "% 1 "% * . Avant 3.3, la commande par défaut exécute pythonw.exe (assurez-vous qu'il est la bonne version), et pour 3.3+ il exécute pyw.exe .


Avec py et pyw installé, il est pratique d'exécuter py -x [.y] -m idlelib [args] pour exécuter le ralenti avec un console ou pyw -x [.y] -m idlelib [args] fonctionner sans une console attachée. Voir Python Launcher pour Windows dans les docs .


Dans mon cas, je devais utiliser le commutateur -R, j'ai trouvé ailleurs C: \ python27 \ lib \ idlelib \ inacte.bat -r "c: \ temp \ module1.py"


C'est beau! Si vous ignorez l'ajout du "c: \ file1.py", etc., et utilisez simplement la première partie, il se lance inactif!



0
votes

Vous pouvez simplement programmer en Python pour modifier vos fichiers Python. Un exemple simple. Dites que vous voulez rechercher un mot, puis le remplacer par quelque chose d'autre.

import fileinput
import os
os.chdir( os.path.join("c:\\","path") )
for file in os.listdir("."):
    for line in fileinput.input(file,inplace=0):
       if "search word" in line :
           line=line.replace("search word","new word")
           print line


3 commentaires

Pourquoi penses-tu ça? Vous l'enregistrez comme un script Python normal et exécutez-le sur la ligne de commande avec l'interprète. C'est la même chose que d'écrire un fichier de commandes, à la place, vous utilisez Python, pas le lot ou la VBScript. C'est mieux que d'ouvrir le ralenti et l'édition à la main une par une.


Eh bien, je veux dire que vous devriez connaître la phrase exacte que vous souhaitez remplacer, sans pouvoir parcourir le contenu du fichier. Peut-être j'ai mal compris ce que cela fait, mais il semble que cela prend un fichier et remplace tout "Word de recherche" s avec "nouveau mot" s. Ou peut-être avez-vous mal compris ma question: je souhaite automatiser l'ouverture de 15 fichiers pour la modification.


Je vois. J'ai mal compris.



3
votes

rarement que le système d'exploitation natif est utile. J'ai créé un fichier gagnant du dossier, dans le dossier avec mes fichiers .PYPY:

start /MIN cmd /C c:\Python27\lib\idlelib\idle.py -e %1 %2 %3 %4 %5 %6


2 commentaires

Remarque: dans Windows, vous pouvez remplacer% 1% 2% 3 ... avec simplement% *


Vous pouvez ajouter .lnk à pathext pour exécuter un raccourci en tant que commande; Laissez le répertoire de travail vide si vous souhaitez hériter du répertoire de travail du parent. Il est plus facile de gérer que d'utiliser un fichier de commandes pour émuler un raccourci et ne dispose pas des contorsions d'exécuter CMD.exe pour exécuter un fichier de commandes pour utiliser la commande de démarrage pour exécuter cmd.exe pour exécuter la commande réelle.



5
votes

S'il vous plaît pardonnez-moi de frapper un si vieux fil, mais je me suis enseigné Linux et Python avec l'aide de la communauté et essayait de comprendre comment invoquer Idle2 et Idle3 à partir de la ligne de commande. Je suis tombé sur ce post que certaines des solutions semblaient un peu compliquées pour ma demande. Ensuite, cela m'est arrivé que je pouvais simplement mettre des syslinks dans le / usr / bin / path pour chacun. xxx

pour adresser l'OP. Dans le répertoire, le script est situé, Type: xxx

ou xxx

je suis tellement damné heureux que je Enfin eu une "ampoule de lumière", je ne vais pas laisser passer un post de 2 ans d'arrêter de poster ma solution.


1 commentaires

Ne vous sentez pas mal pour faire revivre les vieux fils (surtout s'ils sont sans réponse!). Stackoverflow existez à fournir des réponses à ceux qui se demandent, comme moi, mais aussi de servir de référence pour les lecteurs comme vous-même qui recherchent des solutions à des problèmes similaires. Alors le renouveau de fil n'est pas découragé ici. Merci pour votre réponse :)



16
votes

Vous devez faire comme indiqué dans le fichier principal.py du dossier IDELIB (C: \ python33 \ lib \ idlelib), au moins sur la version Python 3.3 explique que:

IDLE main entry point

Run IDLE as python -m idlelib


3 commentaires

Dans un raccourci Windows, cela devient c: \ python34 \ python.exe -m idlelib "chemin / to / script.py" . Il lance une fenêtre de commande derrière oisif, mais cela s'en va dès que vous fermez au ralenti.


Cela fonctionne parfaitement bien dans ma machine Windows 10. J'ai utilisé py cependant: py -3 -m idlelib myscript.py


Vous pouvez utiliser Pythonw.exe (NOTEZ EXTRA 'W' dans le nom) sur Windows pour éviter la fenêtre de commande indiquant derrière l'inactif.



0
votes

Ajoutez simplement le chemin d'IDLE à votre parcelle Variable d'environnement.

Par exemple, j'ai créé une variable d'environnement appelée idile_path et définissez la valeur sur C: \ python27 \ lib \ idlelib

Puis dans mon chemin variable j'ai ajouté ;% idle_path%; et ouvrez une nouvelle invite CMD ou dans la console2 Ouvrez simplement un nouvel onglet et exécutez oisif < File_Name> Pour ouvrir le fichier, vous pourrez le faire à partir de n'importe quel répertoire. Dans ipython Console ajoutez un ! avant la commande, par exemple ! Oisif test.py . .

félicite, maintenant vous êtes un pimp Python!


0 commentaires

2
votes

Premièrement, assurez-vous d'avoir l'emplacement du ralenti dans le chemin de page
J'utilise "Python3.5" .so mine ressemble à ceci: C: \ Program Files \ Python35 \ lib \ idlelib .Votre peut différer.
Utilisez cette commande suivante: inactif -r file_name.py Pour exécuter le fichier ou juste inactif fichier_name.py pour éditer


ou Démarrer inactif -r file_name.py ^ & exit

1 commentaires

-r drapeau enregistre la journée, c'est une réponse utile, mais a besoin de clarification