¿Cómo escribir si el parámetro de Python es una cadena XML?
Pasar una cadena XML como parámetro puede provocar errores al llamar a un script de Python porque el sistema operativo o el intérprete de Python pueden interpretar algunos caracteres especiales como comandos o códigos. Para evitar este problema, puede pasar la cadena XML como un archivo de texto o utilizar la codificación base64 para codificar la cadena en caracteres no especiales. A continuación se muestran ejemplos de ambos métodos.
Método 1: Guarde la cadena XML en un archivo, pasando el nombre del archivo como parámetro:
Guarde la cadena XML en un archivo, como input.xml.
Modifique el script de Python para aceptar un nombre de archivo como parámetro:
importar sistema
importar xml .etree.ElementTree como ET
filename = sys.argv[1]
Filename = sys.argv[1]
Método 1: guarde la cadena XML en un archivo y pase el nombre del archivo como parámetro: p>
p>
Guarde la cadena XML en un archivo, como input.xml. argv[1]
con open(nombre de archivo, 'r') como archivo:
xml_string = file.read()
xml_root = ET.fromstring( xml_string)
Pase el nombre del archivo al llamar al script: python xxx.py input.xml
Método 2: use codificación base64:
use base64 para codificar caracteres XML Codifique la cadena:
importar base64
xml_string = 'lt;?xml version="1.0" encoding="UTF-8" gt;...' /p>
xml_root = ET.fromstring(xml_string)
Pase el nombre del archivo al llamar al script: python xxx...b64decode(encoded_xml. encode()).decode() p>
xml_root = ET.fromstring(decoded_xml)
Pase la cadena codificada en base64 al llamar al script: python xxx.py "base64_encoded_string"
Los dos métodos anteriores pueden efectivamente Evite pasar caracteres XML Error de cadena. Elija el método apropiado según las necesidades reales.