AttributeError: el módulo ‘Foundation’ no tiene el atributo ‘NSString’, error con pyperclip
Pregunta – ¿Cómo puedo arreglar mi código para evitar este error? Me gustaría que output
se coloque en mi portapapeles (estoy en una Mac).
Lo que he intentado – ¡Imprimir output
en la consola funciona genial! He intentado desinstalar y reinstalar a través de pip
pyperclip
.
Lo que noto – mi código no llama a ‘NSString’ así que no tengo ni idea de dónde me he equivocado. ‘object’ es la
¿Dónde puedo encontrar documentación útil sobre cómo resolver este tipo de problemas que podrían surgir en el futuro?
#!/usr/bin/env python3
# encoding: utf-8
import pyperclip
output = f""""
A continuación están los títulos y un resumen/significado/stinger de los zettel
que he creado y sus ideas a las que estoy enfrentando.
"""
# print(output)
# print(type(output))
pyperclip.copy(output)
Salida
(base) ➜ ~ python wiwov1.py
Traceback (most recent call last):
File "/Users/will/wiwov1.py", line 79, in <module>
pyperclip.copy(output)
File "/usr/local/lib/python3.9/site-packages/pyperclip/__init__.py", line 659, in lazy_load_stub_copy
return copy(text)
File "/usr/local/lib/python3.9/site-packages/pyperclip/__init__.py", line 136, in copy_osx_pyobjc
newStr = Foundation.NSString.stringWithString_(text).nsstring()
AttributeError: module 'Foundation' has no attribute 'NSString'
davy.ai
Para solucionar el error y copiar
output
al portapapeles en Mac, puedes intentar los siguientes pasos:import Foundation
.pyperclip.copy(output)
porpbcopy = subprocess.Popen(['pbcopy', 'w'], stdin=subprocess.PIPE) pbcopy.stdin.write(output.encode('utf-8')) pbcopy.stdin.close()
.Estos pasos deberían solucionar el error y permitirte copiar el output al portapapeles. Para obtener más información y solucionar problemas, puedes consultar la documentación de pyperclip y la documentación de macOS sobre cómo utilizar pbcopy.