Resumir algunos errores comunes de los desarrolladores de Python (encendido)

El nombre del archivo es el mismo que el nombre del paquete que se va a citar.

Por ejemplo, si desea citar solicitudes, pero nombra su propio archivo también solicitudes.py, ejecute el siguiente código

import requests
requests.get('http://www.baidu.com')

Reportará el siguiente error

AttributeError: module 'requests' has no attribute 'get'

La solución es cambiar el nombre de su archivo python, siempre que no sea el mismo que el nombre del paquete. Si realmente no desea cambiar el nombre del archivo, puede usar el siguiente método

import sys
_cpath_ = sys.path[0]
print(sys.path)
print(_cpath_)
sys.path.remove(_cpath_)
import requests
sys.path.insert(0, _cpath_)

requests.get('http://www.baidu.com')

El principio principal es excluir el directorio actual del directorio de búsqueda de python en ejecución. Después de este procesamiento, la ejecución de python request.py en la línea de comando puede ejecutarse normalmente, pero la depuración y la ejecución en pycharm fallan.

Problema de desalineación de formato

A continuación se muestra un fragmento de código normal

def fun():
    a=1
    b=2
    if a>b:
        print("a")  
    else:
        print("b")

fun()

1. Si el otro no está alineado

def fun():
    a=1
    b=2
    if a>b:
        print("a")  
     else:
        print("b")

fun()

Reportará

IndentationError: unindent does not match any outer indentation level

2. Si else y if no aparecen en pares, como escribir directamente un else o escribir un else adicional, u omisión de los dos puntos después de if y else

def fun():
    a=1
    b=2
    else:
        print("b")

fun()
def fun():
    a=1
    b=2
    if a>b:
        print("a")
    else:
        print("b")
    else:
        print("b")

fun()
def fun():
    a=1
    b=2
    if a>b:
        print("a")
    else
        print("b")

fun()

Metrópoli

SyntaxError: invalid syntax

3. Si las siguientes declaraciones if y else no están sangradas

def fun():
    a=1
    b=2
    if a>b:
    print("a")
    else:
    print("b")

fun()

Reportará

IndentationError: expected an indented block

Utilice comillas chinas para las cadenas

Por ejemplo, use comillas chinas a continuación

print(“a”)

Reportará

SyntaxError: invalid character in identifier

La forma correcta es usar comillas simples o dobles en inglés

print('b')
print("b")

Supongo que te gusta

Origin blog.51cto.com/15060785/2576603
Recomendado
Clasificación