簡體   English   中英

為什么在導入 pdb 時會出現此錯誤? “模塊”對象沒有屬性“ascii_letters”

[英]Why I'm getting this error when I import pdb? 'module' object has no attribute 'ascii_letters'

嘗試調試我的代碼,我正在導入庫pdb

import sys
from subprocess import check_call
import pdb

/*functions*/

if __name__== "__main__":
  /* Code */

我收到此錯誤:

  File "reg.py", line 11, in <module>
    import pdb
  File "/usr/lib/python2.7/pdb.py", line 9, in <module>
    import cmd
  File "/usr/lib/python2.7/cmd.py", line 53, in <module>
    IDENTCHARS = string.ascii_letters + string.digits + '_'
AttributeError: 'module' object has no attribute 'ascii_letters'

如果我創建一個新的 python 文件並嘗試運行 pdb,則會發生同樣的錯誤。

您的文件之一稱為string.py 重命名它並確保從腳本目錄中刪除所有*.pyc文件。

出於這個原因,為您自己的文件使用內置模塊的名稱是一種非常糟糕的做法。

$ echo "import pdb" > string.py
$ python string.py
File "string.py", line 1, in <module>
     import pdb
File "D:\Python37\lib\pdb.py", line 73, in <module>
     import cmd
File "D:\Python37\lib\cmd.py", line 50, in <module>
     IDENTCHARS = string.ascii_letters + string.digits + '_'
AttributeError: module 'string' has no attribute 'ascii_letters'

您的文件夾中有一個“string.py”文件,其中存儲了所有代碼,只需重命名它然后運行代碼,它就可以正常工作;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM