Articles of sys

¿Cuál es la diferencia entre una stack y un marco?

¿Bajo qué situaciones querría usar una sobre la otra? Cuál es la diferencia entre: >>> import inspect >>> print(inspect.getouterframes(inspect.currentframe())) [(, ”, 1, ”, None, None)] Y: >>> import traceback >>> traceback.extract_stack() [(”, 1, ”, None)] Actualizar: Otro: >>> import sys >>> print(sys._getframe().f_trace,sys._getframe().f_code) (None, <code object at 0x8682a88, file “”, line 1>) No entiendo los matices […]

Problema con sys.argv cuando el módulo unittest está en un script

Tengo una secuencia de comandos que hace varias cosas y acceso a los parámetros mediante sys.argv, pero cuando la secuencia de comandos llega a la parte de la unidad de prueba del código, dice que no hay un módulo para esto. El guión que tengo es: class MyScript(): def __init__(self): self.value = sys.argv[1] def hello(self): […]

Python: ¿Qué encoding se usa para procesar sys.argv?

¿En qué encoding están los elementos de sys.argv , en Python? ¿Están codificados con la encoding sys.getdefaultencoding() ? sys.getdefaultencoding (): devuelve el nombre de la encoding de cadena predeterminada actual utilizada por la implementación de Unicode. PD : Como se señaló en algunas de las respuestas, sys.stdin.encoding sería una mejor suposición . ¡Me encantaría ver […]

Establezca LD_LIBRARY_PATH antes de importar en Python

Python utiliza la variable de entorno PYTHONPATH para determinar en qué carpetas debe buscar los módulos. Puedes jugar con él modificando sys.path , que funciona bien para los módulos de Python puros. Pero cuando un módulo utiliza archivos de objetos compartidos o bibliotecas estáticas, busca aquellos en LD_LIBRARY_PATH (en linux), pero esto no se puede […]

Importar desde el directorio de hermanos

Tengo una clase de Python llamada “ClassA” y otra clase de Python que se supone que importa ClassA que es “ClassB”. La estructura del directorio es la siguiente: MainDir ../Dir …./DirA/ClassA …./DirB/ClassB ¿Cómo usaría sys.path para que ClassB pueda usar ClassA?

Uso de memoria Python de matrices numpy

Estoy usando python para analizar algunos archivos grandes y tengo problemas de memoria, por lo que he estado usando sys.getsizeof () para intentar realizar un seguimiento del uso, pero su comportamiento con matrices numpy es extraño. Aquí hay un ejemplo que incluye un mapa de albedos que tengo que abrir: >>> import numpy as np […]

Cómo resolver “ValueError: bash de importación relativa más allá del paquete de nivel superior”

Tengo el siguiente problema con mi proyecto, ayúdame por favor! Aquí está la estructura de mi paquete: /pkg /pkg/__init__.py /pkg/sub1/__init__.py /pkg/sub2/__init__.py /pkg/sub1/foo1.py /pkg/sub2/foo2.py Aquí está la implementación de foo1.py: from ..sub2 import foo2 def f(): print(“Hello!”) Cuando ejecuto foo1 me sale un error: ValueError: bash de importación relativa más allá del paquete de nivel superior […]

Captura de stdout desde un script en Python

Supongamos que hay un script que hace algo como esto: # module writer.py import sys def write(): sys.stdout.write(“foobar”) Ahora suponga que quiero capturar la salida de la función de write y almacenarla en una variable para su posterior procesamiento. La solución ingenua fue: # module mymodule.py from writer import write out = write() print out.upper() […]

¿Desde dónde se inicia sys.path de Python?

¿Desde dónde se inicia sys.path de Python? UPD : Python está agregando algunas rutas antes de referirse a PYTHONPATH: >>> import sys >>> from pprint import pprint as p >>> p(sys.path) [”, ‘C:\\Python25\\lib\\site-packages\\setuptools-0.6c9-py2.5.egg’, ‘C:\\Python25\\lib\\site-packages\\orbited-0.7.8-py2.5.egg’, ‘C:\\Python25\\lib\\site-packages\\morbid-0.8.6.1-py2.5.egg’, ‘C:\\Python25\\lib\\site-packages\\demjson-1.4-py2.5.egg’, ‘C:\\Python25\\lib\\site-packages\\stomper-0.2.2-py2.5.egg’, ‘C:\\Python25\\lib\\site-packages\\uuid-1.30-py2.5.egg’, ‘C:\\Python25\\lib\\site-packages\\stompservice-0.1.0-py2.5.egg’, ‘C:\\Python25\\lib\\site-packages\\cherrypy-3.0.1-py2.5.egg’, ‘C:\\Python25\\lib\\site-packages\\pyorbited-0.2.2-py2.5.egg’, ‘C:\\Python25\\lib\\site-packages\\flup-1.0.1-py2.5.egg’, ‘C:\\Python25\\lib\\site-packages\\wsgilog-0.1-py2.5.egg’, ‘c:\\testdir’, ‘C:\\Windows\\system32\\python25.zip’, ‘C:\\Python25\\DLLs’, ‘C:\\Python25\\lib’, ‘C:\\Python25\\lib\\plat-win’, ‘C:\\Python25\\lib\\lib-tk’, ‘C:\\Python25’, ‘C:\\Python25\\lib\\site-packages’, ‘C:\\Python25\\lib\\site-packages\\PIL’, ‘C:\\Python25\\lib\\site-packages\\win32’, ‘C:\\Python25\\lib\\site-packages\\win32\\lib’, ‘C:\\Python25\\lib\\site-packages\\Pythonwin’] […]

¿Agregar permanentemente un directorio a PYTHONPATH?

Siempre que use sys.path.append , se sys.path.append el nuevo directorio. Sin embargo, una vez que cierre Python, la lista volverá a los valores anteriores (¿predeterminados?). ¿Cómo agrego permanentemente un directorio a PYTHONPATH ?