aucun module nommé StringIO
J'ai python 3.6. Je veux exécuter python fichier nommé 'operation.py' partir d'un autre fichier python nommé 'run.py'.
Dans operation.py
je ne from cStringIO import StringIO
. PyCharm me montre un message d'avertissement qu'il n'y a pas de module nommé StringIO. Je sais que depuis python3-je importer StringIO module de io. Cependant, lorsque j'utilise cette importation, les fonctions de ce module sont pas plus de travail.
Bien qu'il y a un avertissement dans from cStringIO import StringIO
, le code fonctionne encore (je sais que cette importation fonctionne vraiment parce que j'ai essayé de faire un commentaire et il ne pouvait pas courir). Le problème est que lorsque j'essaie d'exécuter ce fichier par le " run.py fichier, il ne peut pas courir et imprime le message suivant: ModuleNotFoundError: No module named 'cStringIO'
.
J'ai essayé d'utiliser cette Non résolu problème de référence dans PyCharm mais il n'a pas aidé.
Pourquoi operation.py' exécuter si l'avertissement, mais 'run.py' ne l'est pas? Comment puis-je résoudre ce problème?
operation.py:
from cStringIO import StringIO
str_io = StringIO()
g = Generator(str_io, False)
# There is a full code here...
run.py:
import operation
def main():
operation
La operation.py
a un avertissement, mais fonctionne bien, run.py a un échec.
- veuillez fournir une quantité minimale d'échantillon de travail. Qu'entendez-vous par l'exécution de
operation.py
derun.py
? - "Je sais que cette importation vraiment travailler parce que j'ai essayé de faire un commentaire et il ne pouvait pas courir" - ce qui ne veut pas dire que l'importation des œuvres. Votre code est également rompu avec ou sans cette importation.
- 1. Vous avez besoin de mettre de
io import StringIO
. Ensuite, 2. Vous devez décrire le problème plus clairement que les "quand je l'utilise à l'importation, les fonctions de ce module sont pas plus de travail". Ce qui ne fonctionne pas et comment?
Vous devez vous connecter pour publier un commentaire.
Je pense que vous êtes à la recherche pour le io module en Python 3.x.
cStringIO
(qui est un Python 2 module qui est une version plus rapide deStringIO
, voir ici) a été remplacé pario
, avec une foule d'autres changements. Voir ici pour plus d'informations à ce sujet.Note historique: c'est la raison pour laquelle nous n'avons plus les deux
cStringIO
etStringIO
: