¿Cuáles son las funciones del sistema más utilizadas en Python?
Ayuda (obj) ayuda en línea, obj puede ser de cualquier tipo.
Invocable(obj) para ver si se puede llamar a obj como una función.
Repr(obj) obtiene la cadena de representación de obj, que puede usarse para reconstruir una copia del objeto.
Eval_r(str) representa una expresión de Python legal y devuelve la expresión.
Dir(obj) mira los nombres visibles en el espacio de nombres de obj.
Hasattr(obj, name) comprueba si hay un nombre en el espacio de nombres de obj.
Getattr(obj, name) obtiene un nombre en el espacio de nombres de obj.
Setattr(obj, nombre, valor) es el nombre en el espacio de nombres de obj que apunta al valor del objeto.
Delattr(obj, name) elimina un nombre del espacio de nombres de obj.
Vars(obj) devuelve el espacio de nombres de un objeto. Representado por diccionario
Locals() devuelve un espacio de nombres local, representado por diccionario.
Globals() devuelve un espacio de nombres global, representado por un diccionario.
Type(obj) comprueba el tipo de objeto.
isinstance(obj, cls) comprueba si obj es instancia(obj, cls.
Issubclass(subcls, supcls) comprueba si subcls es una subclase de supcls.
Función de conversión de tipo
Chr(i) convierte el valor ASCII en carácter
Ord(i) convierte carácter o carácter Unicode en valor ASCII
. Oct(x) convierte el número entero x en una cadena octal.
Hex(x) convierte el número entero x en una cadena hexadecimal
Str( obj) Obtiene la descripción de la cadena de obj.
List(seq) convierte la secuencia en una lista.
Tuple(seq) convierte la secuencia en una tupla >Dict(), dict(list) se convierte en una. diccionario.
Int(x) se convierte en un número entero largo
Float(x) se convierte en un número de punto flotante
Número complejo (x). ) se convierte en un número complejo.
Max(...) encuentra el valor máximo >
Min(...) encuentra el valor mínimo
Construido. en función para ejecutar programas.
compilar Si usa un fragmento de código con frecuencia, compílelo y luego ejecútelo más rápido
2. p>Sistema de importación del módulo de información relacionada con el sistema
Sys.argv es una lista que contiene todos los parámetros de la línea de comando
Sys.stdout sys.stdin sys.stderr representa la entrada y salida estándar. y objetos de archivo de salida de error respectivamente.
Sys.stdin.readline() lee una línea de la entrada estándar .stdout.write("a ") salida de pantalla a
Sys. exit(exit_code) sale del programa.
Sys.modules es un diccionario que representa todos los módulos disponibles en el sistema
Sys.platform obtiene el entorno del sistema operativo. >
Sys.path es una lista que indica todas las rutas para buscar módulos y paquetes.
Las llamadas y operaciones relacionadas con el sistema operativo se importan al sistema operativo
Os.environ es un diccionario que contiene la relación de mapeo de las variables de entorno os.environ["HOME"]. Puede obtener el valor de la variable de entorno HOME.
Os.chdir(dir) cambia el directorio actual os.chdir('d:\\outlook ') Nota, use escape en Windows.
Obtener el directorio actual.
Os.getegid() obtiene la identificación del grupo válida. SO. getgid() obtiene una identificación de grupo.
Obtener identificación de usuario. Obtenga la identificación de usuario válida.
OS . set egid OS . set egid()OS . seteuid() setuid()
Obtener una lista de nombres de grupos de usuarios.
Os.getlogin() obtiene el nombre de inicio de sesión del usuario.
Os.getenv obtiene variables de entorno.
Os.putenv establece variables de entorno
Os.umask establece umask
Os.system (cmd) utiliza llamadas al sistema para ejecutar comandos cmd.
Ejemplo de operación:
OS . mkdir('/tmp/xx ')OS system(" echo ' hola ' gt;/tmp/xx/a . txt ")OS . list dir('/tmp/xx ')
os.rename('/tmp/xx/a.txt ', '/tmp/xx/b . txt ')OS . tmp/xx/b . txt ')OS rmdir('/tmp/xx ')
Escribe un shell simple en Python
#!/usr/bin/python< / p>
Importar sistema operativo, sistema
cmd = sys.stdin.readline()
Y cmd:
Sistema operativo (cmd)
p>cmd = sys.stdin.readline()
Utilice os.path para escribir programas independientes de la plataforma
OS path. == OS . path . join(OS . getcwd(), " 1 . txt ")
Os.path.split(os.getcwd()) se utiliza para separar la parte del directorio y el archivo en la parte del nombre del nombre del directorio.
OS.path.join (os.getcwd(), os.pardir, 'a', 'a.doc') nombre de ruta completamente formateado.
Os.pardir representa el carácter del directorio de nivel superior en la plataforma actual. ..
Ruta del SO . getctime("/root/1.txt ") devuelve la marca de tiempo ctime (hora de creación) 1 .txt.
Os.path.exists(os.getcwd()) determina si el archivo existe.
Os.path.expanduser('~/dir ') expande ~ al directorio raíz del usuario.
Os. PATH.expandvars('$PATH ') expande la variable de entorno PATH.
Os.path.isfile(os.getcwd()) determina si es un nombre de archivo, 1 es 0 o no.
OS.ruta.isdir('c:\python 26\temp') determina si es un directorio, 1 es 0 y no.
¿La ruta del sistema operativo es link('/home/Huaying/111 . SQL ') es un enlace simbólico? No está disponible en Windows.
os.path.ismout(os.getcwd()) es el punto de montaje del sistema de archivos. ¿No está disponible en Windows?
OS.path.samefile (os.getcwd(), '/home/Huaying ') comprueba si los dos nombres de archivo se refieren al mismo archivo.
os.path.walk('/home/huaying ', test_fun, " a.c ")
Recorre todos los subdirectorios en /home/huaying, incluido este directorio, para cada llamada al directorio la función test_fun.
Ejemplo: buscar un archivo o directorio llamado a.c en un directorio y todos sus subdirectorios.
Def test_fun (nombre de archivo, nombre de directorio, nombres): //El nombre de archivo es el nombre de directorio a.c en walk, que es el nombre del directorio al que se accede.
Si nombres: //nombre de archivo en nombres es una lista, contiene todo el contenido del directorio dirname.
Imprimir os.path.join(nombre del directorio, nombre del archivo)
os.path.walk('/home/huaying ', test_fun, " a.c ")
Funciones de documento
Abrir archivo
F = open("filename","r") r solo lectura W escribir rw leer escribir rb leer binario wb escribir binario w escribir agregar
Leer y escribir archivos
F.write("a") f.write(str) escribir una cadena f.writeline() f.readlines() es similar al siguiente leer .
F.read() lee todo. f.read(size) significa leer caracteres de tamaño del archivo.
F.readline() lee una línea y devuelve una cadena vacía al final del archivo. f.readlines() lee todo y devuelve una lista. Cada elemento de la lista representa una línea, incluida "\n"
F.tell() devuelve la posición de lectura del archivo actual.
F f.seek(off, donde) localiza la posición de lectura y escritura del archivo. Desactivado representa el desplazamiento, los números positivos se mueven al final del archivo y los números negativos se mueven al principio del archivo.
0 significa contar desde el principio, 1 significa contar desde la posición actual y 2 significa contar desde el final.
F.flush() actualiza el caché.
Cerrar documento
f.close()
Expresión regular expresión regular importar re
Expresión regular simple
p = re . compile(" ABC ")if p . match(" ABC "): print " match "
En el ejemplo anterior, primero genera un patrón, si coincide con una cadena, devuelve una coincidencia. objeto.
A excepción de algunos metacaracteres especiales, la mayoría de los caracteres coinciden entre sí.
Estos caracteres especiales son. ^ $ * ?{ [ ] \ | ( )
Conjunto de caracteres (representado por []))
Los caracteres de lista, como [abc], se utilizan para hacer coincidir A o B o do.
La mayoría de los metacaracteres en [] simplemente coinciden entre sí. Ejemplo:
a = ".^$* ?{\ \ |()" La mayoría de los metacaracteres coinciden dentro de [], pero "[]" es diferente.
p = re.compile("[" a "]")
Porque estoy en un:
If match(I):
Imprimir "[s] coincide con "i"
De lo contrario:
Imprimir "[s] no coincide con "i"
En [] Contiene [] en sí, lo que indica la coincidencia "[" o "]". usar.
y
Expreso.
Aparece al principio de [] para indicar inversión. [A, B, c] significa todos los caracteres excepto A, B, c, que no aparecen al principio, es decir, coinciden con el texto.
-Se pueden representar rangos. [a-zA-Z] coincide con cualquier letra en inglés. [0-9] coincide con cualquier número.
El maravilloso uso de \ en [].
\d [0-9]
^0-9
\s [ \t\n\r\f\v]
\ s[^]
\w [a-zA-Z0-9_]
\W [^a-zA-Z0-9_]
\t significa pestaña coincidente, y todo lo demás es consistente con la representación de la cadena.
\x20 significa coincidir con ascii hexadecimal 0x20.
Utilizando \, puedes representar cualquier carácter en []. Nota: Si no aparece un solo "." dentro de [], significa que coincide con cualquier carácter excepto la nueva línea, similar a [\n].
Repetición de expresiones regulares
{m, n} significa mayor que m (incluido m) y menor que n (incluido n). Por ejemplo, ab{1,3}c coincide con ABC, ABBC y ABBC, pero no con AC y ABBC.
m es el límite inferior y n es el límite superior. El límite inferior de la lista m omitida es 0 y la lista no omitida es infinita.
* significa {, } significa {1, }? Indica {0, 1}
La coincidencia máxima y la coincidencia mínima de Python son coincidencias máximas. Si desea la coincidencia más pequeña, puede utilizar *, ,? ¿Agregar uno después de {m, n}? .
El objeto final de coincidencia puede obtener la posición del último carácter coincidente.
Re.pile ("a *"). coincidencia("AAAA"). Fin () 4 coincidencias máximas
Recompilar ("a*?" Coincidencia ('aaaa'). end() 0 coincidencia mínima
Usar cadena sin formato
En el método de representación de cadenas, los caracteres se representan mediante \ \. El uso intensivo afecta la legibilidad.
Solución: agregue una R delante de la cadena para indicar el formato sin formato.
A = r"\a "El resultado de imprimir a es \a.
A = r"\"a "El resultado de imprimir a es\"a.
Usando el módulo re
Primero, use re.compile para obtener un RegexObject para representar una expresión regular.
Luego utilice el método de búsqueda de coincidencia de patrones para obtener el objeto coincidente.
Luego utilice el objeto de coincidencia para obtener la posición coincidente, la cadena coincidente y otra información.
Funciones comunes de RegxObject:
gt gt gtAbout. Compele ("a"). Coincide ("ABAB") si el comienzo de abab coincide con Re. Compele ("a"), obtiene un MatchObject.
lt_sre. objeto sre_matching en 0x 81d43c 8 gt;
gt gt gt print recompile("a"). match(" bbab ")
Ninguno Nota: comience a buscar desde el principio de la cadena.
gt gt gtRe.pile ("a"). Buscar ("abab") busca la primera parte coincidente de re_obj en abab.
lt_sre. objeto sre_matching en 0x 81d43c 8 gt;
gt gt gt print recompile("a"). buscar("bbab")
lt_sre. SRE _El objeto coincidente está en 0x 8184 e 18 gt; a diferencia de match(), no es necesario hacer coincidir al principio.
Re_obj.findall(str) devuelve todas las partes de str que coinciden con Re_obj.
Devuelve una tupla cuyos elementos coinciden con la cadena.
Funciones comúnmente utilizadas de MatchObject
M.start() devuelve la posición inicial y m.end() devuelve la posición final (excluyendo los caracteres en esta posición).
M.span() devuelve una representación de tupla (m.start(), m.end()).
m.pos(), m.endpos(), m.re(), m.string()
M.re(). La búsqueda (m.string(), m.pos(), m.endpos()) obtendrá m.
M.finditer() puede devolver un iterador para recorrer todos los MatchObjects encontrados.
formulario en re.compile("[ab]"). finditer("tatbxaxb "):
Imprimir m.span()
Expresiones regulares avanzadas
|Representa la combinación de múltiples expresiones regulares. A B y dos expresiones regulares, A|B significa coincidir con A o B.
Significa que solo coincide con el comienzo de una línea, y solo tiene este significado especial al principio.
$ significa que solo coincide con el final de la línea.
\A significa que solo coincide con el comienzo de la primera cadena y el comienzo de cada línea.
\Z significa que solo coincide con el final de la cadena de línea. $ coincide con el final de la primera línea.
\bSolo coincide con límites de palabras: \binfo\bSolo coincide con "info", pero no con información.
\B significa hacer coincidir límites que no son palabras.
El ejemplo es el siguiente:
gt gt gtPrintre.pile (r "\binfo \ b "). match ("info") #Utilice formato sin formato\b para representar los límites de las palabras.
lt_sre. objeto sre_matching en 0x 817aa 98 gt;
gt gt gt Plaintree. pila("\binfo\b"). match ("info") #No utilice \b sin formato como símbolo de retroceso.
Nadie
gt gt gt print recompile(" \binfo\b "). partido(" \binfo\b ")
lt_sre. Objeto SRE_matching en 0x 8174948 gt;
Ejemplo de grupo: re.pile ("(a (b) c) d "). coincidencia("ABCD"). grupos () ('ABC', 'b').
#!/usr/local/bin/python
Importar re
x = " " "
Nombre: Charles p> p>
Dirección: Universidad de Correos y Telecomunicaciones de Beijing
Nombre: An
Dirección: Universidad de Correos y Telecomunicaciones de Beijing
"""
# p = re.compile(r"^nombre: (.*)\n^Dirección: (.*)\n ", re.m)
p = re .compile(r"^nombre: (?P.*)\n^Dirección: (?P.*)\n ",re.m)
For m en p.finditer(x):
imprimir m.span()
Imprimir "Esta es tu lista de amigos"
Imprimir "s", s" m.groups()
Indicadores de compilación
Cuando un RegxObject se obtiene recompilando, hay algunos indicadores para ajustar sus características detalladas
Múltiples caracteres, incluidas nuevas líneas\nIgnorar mayúsculas y minúsculas, ignoro mayúsculas y minúsculas
Configuración regional, L hace que \w \W \b \B sea consistente con la configuración regional actual
MULTILINE, M modo multilínea, solo afecta a 0 y. $ (ver ejemplo arriba)
Modo detallado, X detallado
.