69 votes

Comment modifier et enregistrer des fichiers texte (.py) dans Google Colab ?

J'ai cloné un repo github en utilisant !git clone https://github.com/llSourcell/Pokemon_GAN.git . Je voulais modifier un fichier .py dans Colab. J'ai donc utilisé %load filename.py comme suggéré ici ( Comment charger/éditer/exécuter/enregistrer des fichiers texte (.py) dans une cellule de notebook IPython ? ). Mais chaque fois que j'exécute cette commande, je suis déconnecté après un certain temps. Je me demandais s'il existait un autre moyen d'éditer le fichier .py sans avoir à le télécharger sur mon ordinateur, à l'éditer et à le télécharger à nouveau. Merci d'avance.

2 votes

Il n'y a pas de moyen particulièrement efficace d'éditer directement dans colab pour le moment. Pouvez-vous déposer un problème avec les étapes de reproduction pour le blocage ? %load sur github.com/googlecolab/colabtools ?

66voto

rahul Points 164

Vous pouvez utiliser les commandes magiques d'Ipython. Utilisez la commande suivante

%pycat code.py

Une fenêtre pop-up apparaîtra pour afficher le code. Vous pouvez le copier et le modifier localement.
Supprimez le fichier en utilisant la commande suivante

!rm code.py

Copiez le code édité dans une cellule du carnet de notes et ajoutez la commande suivante en haut de la cellule

%%writefile code.py

Faites fonctionner la cellule. Un fichier sera créé avec le contenu présent dans la cellule.

Mises à jour : Aujourd'hui, il existe beaucoup plus d'options faciles et pratiques.

  1. Dans la section des fichiers, il y a une option pour télécharger des fichiers ou vous pouvez double-cliquer sur le fichier, faire des changements et ctrl+s pour enregistrer ces changements.
  2. Vous pouvez également utiliser https://github.com/abhishekkrthakur/colabcode à éditer en utilisant le serveur de code de Visual Studio.

2 votes

Cette réponse devrait être acceptée. Ça marche comme sur des roulettes !

24voto

b.g. Points 101

Malheureusement, il semble que colab ne supporte pas %load (encore), et pourtant, vous pouvez voir le contenu du fichier à l'aide de la commande !cat your_file.py et ensuite, manuellement, copier le contenu de la sortie, l'écrire dans une nouvelle cellule et écrire %%writefile your_new_file_name.py en haut de la nouvelle cellule pour l'enregistrer dans l'instance. Notez que ce n'est pas encore enregistré dans votre lecteur google.

Example:
!ls
output: colabData/

%%writefile something.py
print("everything's fine.")

!ls
output: colabData/ something.py

%run something.py
output: everything's fine.

0 votes

Et le drive notepad, ça marche ? Il me donne une erreur à chaque fois que j'essaie d'accéder à un fichier en l'utilisant avec "Ouvrir avec".

4voto

krishna Points 957

Ce n'est pas une solution parfaite mais elle peut être utile pour quelqu'un.

Vous pouvez utiliser !cat file_name.py d'accéder file_name.py copiez le contenu dans la cellule suivante et vous pouvez maintenant l'exécuter ou le modifier.

4voto

Netro Points 641

J'ai trouvé plus facile d'éditer le fichier localement.

  1. Vous pouvez le télécharger à partir du panneau de gauche.
  2. Faites un clic droit sur n'importe quel fichier et téléchargez-le.
  3. Ensuite, modifiez le fichier.
  4. Ensuite, téléchargez le fichier.
  5. utilice mv pour déplacer le fichier au bon endroit.

enter image description here

0 votes

Je ne connaissais pas l'onglet Fichiers (très utile) ! Cette méthode est plus facile pour moi aussi.

3voto

Emmanuel Lopez Points 48

Solution :

p = """
Yadda yadda
whatever you want just don't use triple quotes.
"""

c = """text_file = open("text.text", "w+");text_file.write(p);text_file.close()""" 

exec(c)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X