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")