Página 1 de 1

Problema de acento

Publicado: 14 de diciembre de 2017 - 09:51
por steph.prevot
Hola,
tengo problemas con la letra "é" al intentar cambiar mis PC con Windows 7 de direcciones IP estáticas a DHCP. Mi archivo por lotes funciona bien manualmente, pero tengo un problema de codificación con WAPT. Así que intenté reemplazar utf-8 con cp850:

# -*- coding: cp850 -*-
from setuphelpers import *

uninstallkey = []

def install():
print("Actualizando interfaces IP")
run (r'reg import DHCP-CLIENT.reg')
run (u'netsh interface ip set dns "Conexión de red local" dhcp')
run (u'netsh interface ip set address "Conexión de red local" dhcp')

pero vuelvo a mi problema de codificación con el mensaje:
Actualizando interfaces IP
El códec 'ascii' no puede codificar caracteres en la posición 42-44: el ordinal no está en el rango (128): la cadena defectuosa es 'u'netsh interface ip set dns "Conexión "en la red local" dhcp

Gracias por su ayuda

Re: Problema de acento

Publicado: 14 de diciembre de 2017 - 17:40
por dcardon
Debes evitar los caracteres acentuados en los comandos de ejecución en la medida de lo posible. La codificación de entrada y salida nunca se controla completamente (esto no es un problema de WAPT en sí, sino de cmd.exe).

Es mejor usar comandos wmi, que se pueden usar en Python, algo como esto: `

import wmi
nic_configs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)
for nic in nic_configs:
nic.EnableDHCP()` ¡

Y no olvides comprobar en el paquete que haya una concesión disponible para tu máquina antes de cambiar!

Re: Problema de acento

Publicado: 15 de diciembre de 2017 - 12:50
por steph.prevot
Hola,

gracias por la ayuda.
WMI está muy por encima de mis conocimientos, así que creé un pequeño script que se ejecuta al iniciar sesión y funciona a la perfección.

¡Saludos!