Je suis juste au début de Python, et j'aimerais utiliser un externe RSS classe. Où dois-je mettre cette classe, et comment puis-je importer? J'aimerais par la suite pouvoir partager python programmes.
Il y a deux méthodes normales d'importer du code dans un programme en python.
Modules
Paquets
Un module est simplement un fichier qui se termine en .py. Pour python, il doit exister sur le chemin de recherche (tel que défini dans sys.chemin d'accès). Le chemin de recherche consiste généralement le même répertoire que le .py qui est en cours d'exécution, ainsi que le python répertoires système.
Compte tenu de la structure de répertoire suivante:
myprogram/main.py
myprogram/rss.py
De main.py, vous pouvez "importer" la rss classes:
import rss
rss.rss_class()#alternativly you can use:from rss import rss_class
rss_class()
Paquets fournissent une manière plus structurée pour contenir les grands programmes python. Ils sont tout simplement un répertoire qui contient un __init__.py ainsi que d'autres fichiers python.
Tant que le répertoire du package est sur sys.path, alors il peut être utilisé exactement le même que ci-dessus.
Je n'aime pas vraiment répondre si tard, mais je ne suis pas entièrement satisfait avec les questions /réponses.
Je suis juste au début de Python, et j'aimerais utiliser un externe RSS classe. Où dois-je mettre cette classe, et comment puis-je importer?
Vous mettre dans un fichier python, et de donner le fichier python une extension .py . Ensuite, vous pouvez importer un module de représentation de ce fichier, et accéder à la classe. En supposant que vous souhaitez importer, vous devez placer le fichier python quelque part dans votre importation chemin de recherche-- vous pouvez le voir au moment de l'exécution avec sys.path, et peut-être la plus importante chose à savoir est que le site-packages (installer) et le répertoire courant (") sont généralement dans l'importation chemin de recherche. Lorsque vous avez un seul projet, en général, vous mettre dans le même répertoire que vos autres modules et de les laisser importer les uns des autres à partir du même répertoire.
J'aimerais par la suite pouvoir partager python programmes.
Après que vous avez mis en place comme un fichier autonome, vous pouvez le configurer pour distribution à l'aide de distutils. De cette façon, vous n'avez pas à vous soucier de, où, exactement, il doit être installé-- distutils allez vous faire du souci pour vous. Il existe de nombreux autres moyens de distribution ainsi, de nombreux OS-- distutils fonctionne pour les modules, mais si vous voulez distribuer un programme approprié que les utilisateurs sont destinés à fonctionner, d'autres options existent, comme l'utilisation de py2exe pour Windows.
Comme pour les modules/packages distinction, bien, ici il va. Si vous avez tout un tas de classes que vous voulez divisé de sorte que vous n'avez pas un gros gâchis d'un fichier python, vous pouvez les séparer en plusieurs fichiers python dans un répertoire, et de donner le répertoire d'un __init__.py . La chose importante à noter est qu'à partir de Python, il n'y a pas de différence entre un logiciel et un autre module. Un package est un module, c'est juste une autre façon de représenter l'un sur le système de fichiers. De même, un module est pas juste un .py fichier-- si c'était le cas, sys ne serait pas un module, car il n'a pas .py fichier. Il est intégré à l'interprète. Il existe une infinité de façons de représenter des modules sur le système de fichiers, puisque vous pouvez ajouter l'importation des crochets qui peut créer d'autres moyens que les répertoires et les .py fichiers pour représenter les modules. On pourrait, hypothétiquement, de créer une importation crochet utilisé spidermonkey charger les fichiers Javascript que des modules Python.
Où le module est quelque part sur votre python path.
Je serais mot que légèrement différemment. "python path" me fait penser à la variable d'environnement PYTHONPATH. PYTHONPATH est en fait normalement vide, mais sys.le chemin n'est jamais vide, et sys.le chemin est ce qui détermine où les modules peuvent être trouvés. PYTHONPATH est juste ce qui est ajouté à la valeur par défaut sys.entrées de chemin d'accès.
un module est un fichier se terminant par .py. Vous pouvez mettre votre classe dans un tel fichier. Comme le dit Andy, il doit être à votre python path (PYTHONPATH). Habituellement, vous allez mettre le module supplémentaire dans le même répertoire que votre script est bien qui peut être importé directement.
un package est un répertoire contenant un __init__.py (peut être vide) et comprend un module de fichiers. Vous pouvez ensuite importer la from <package>.<module> import <class>. De nouveau, ce doit être sur votre python path.
Utilisation backticks de citer des caractères de formatage, __init__ par exemple. La simplification excessive. Un .py fichier n'est pas le seul type de module, et un paquet /est/ un module. Un module est un type d'objet python. .py fichiers et packagse deux façons de créer des modules, comme le sont les .pyw, .pyd, .pyc, .pyo, et même d'autres formats de fichiers/extensions de l'importation à des crochets. merci, gahooa. Il semble également fonctionner avec une barre oblique inverse quand pas de backticks sont là (que j'ai ajouté par la suite) Devin: C'est pourquoi j'ai relié à la documentation pour plus d'informations détaillées.
Si vous souhaitez stocker votre fichier RSS dans un autre endroit, utilisez sys.append("") et pout le module dans le répertoire et l'utilisation
l'importation ou de l'importation *
Sur le
import
déclaration:(un bon writeup est à http://effbot.org/zone/import-confusion.htm et le tutoriel python va dans les détails à http://docs.python.org/tutorial/modules.html )
Il y a deux méthodes normales d'importer du code dans un programme en python.
Un module est simplement un fichier qui se termine en .py. Pour python, il doit exister sur le chemin de recherche (tel que défini dans sys.chemin d'accès). Le chemin de recherche consiste généralement le même répertoire que le .py qui est en cours d'exécution, ainsi que le python répertoires système.
Compte tenu de la structure de répertoire suivante:
De main.py, vous pouvez "importer" la rss classes:
Paquets fournissent une manière plus structurée pour contenir les grands programmes python. Ils sont tout simplement un répertoire qui contient un
__init__.py
ainsi que d'autres fichiers python.Tant que le répertoire du package est sur
sys.path
, alors il peut être utilisé exactement le même que ci-dessus.Pour trouver votre chemin actuel, exécutez ceci:
OriginalL'auteur gahooa
Je n'aime pas vraiment répondre si tard, mais je ne suis pas entièrement satisfait avec les questions /réponses.
Vous mettre dans un fichier python, et de donner le fichier python une extension .py . Ensuite, vous pouvez importer un module de représentation de ce fichier, et accéder à la classe. En supposant que vous souhaitez importer, vous devez placer le fichier python quelque part dans votre importation chemin de recherche-- vous pouvez le voir au moment de l'exécution avec
sys.path
, et peut-être la plus importante chose à savoir est que le site-packages (installer) et le répertoire courant (") sont généralement dans l'importation chemin de recherche. Lorsque vous avez un seul projet, en général, vous mettre dans le même répertoire que vos autres modules et de les laisser importer les uns des autres à partir du même répertoire.Après que vous avez mis en place comme un fichier autonome, vous pouvez le configurer pour distribution à l'aide de distutils. De cette façon, vous n'avez pas à vous soucier de, où, exactement, il doit être installé-- distutils allez vous faire du souci pour vous. Il existe de nombreux autres moyens de distribution ainsi, de nombreux OS-- distutils fonctionne pour les modules, mais si vous voulez distribuer un programme approprié que les utilisateurs sont destinés à fonctionner, d'autres options existent, comme l'utilisation de py2exe pour Windows.
Comme pour les modules/packages distinction, bien, ici il va. Si vous avez tout un tas de classes que vous voulez divisé de sorte que vous n'avez pas un gros gâchis d'un fichier python, vous pouvez les séparer en plusieurs fichiers python dans un répertoire, et de donner le répertoire d'un
__init__.py
. La chose importante à noter est qu'à partir de Python, il n'y a pas de différence entre un logiciel et un autre module. Un package est un module, c'est juste une autre façon de représenter l'un sur le système de fichiers. De même, un module est pas juste un .py fichier-- si c'était le cas,sys
ne serait pas un module, car il n'a pas .py fichier. Il est intégré à l'interprète. Il existe une infinité de façons de représenter des modules sur le système de fichiers, puisque vous pouvez ajouter l'importation des crochets qui peut créer d'autres moyens que les répertoires et les .py fichiers pour représenter les modules. On pourrait, hypothétiquement, de créer une importation crochet utilisé spidermonkey charger les fichiers Javascript que des modules Python.OriginalL'auteur Devin Jeanpierre
Où le module est quelque part sur votre python path.
OriginalL'auteur Andy Hume
Sur les modules et packages:
un module est un fichier se terminant par
.py
. Vous pouvez mettre votre classe dans un tel fichier. Comme le dit Andy, il doit être à votre python path (PYTHONPATH
). Habituellement, vous allez mettre le module supplémentaire dans le même répertoire que votre script est bien qui peut être importé directement.un package est un répertoire contenant un
__init__.py
(peut être vide) et comprend un module de fichiers. Vous pouvez ensuite importer lafrom <package>.<module> import <class>
. De nouveau, ce doit être sur votre python path.Vous pouvez trouver plus de dans la documenation.
backticks
de citer des caractères de formatage,__init__
par exemple.La simplification excessive. Un .py fichier n'est pas le seul type de module, et un paquet /est/ un module. Un module est un type d'objet python. .py fichiers et packagse deux façons de créer des modules, comme le sont les .pyw, .pyd, .pyc, .pyo, et même d'autres formats de fichiers/extensions de l'importation à des crochets.
merci, gahooa. Il semble également fonctionner avec une barre oblique inverse quand pas de backticks sont là (que j'ai ajouté par la suite) Devin: C'est pourquoi j'ai relié à la documentation pour plus d'informations détaillées.
OriginalL'auteur MrTopf
Si vous souhaitez stocker votre fichier RSS dans un autre endroit, utilisez sys.append("") et pout le module dans le répertoire et l'utilisation
l'importation ou de l'importation *
OriginalL'auteur JOe
Le premier fichier, où vous avez créé la classe, est "first.py"
first.py:
Vous créez le deuxième fichier, lorsque vous souhaitez utiliser la classe contenue dans le "first.py", qui est "second.py"
Puis dans le deuxième fichier, à l'appel de la classe contenue dans le premier fichier, il vous suffit de taper:
second.py:
OriginalL'auteur Davide D'Amico