欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決python3中os.popen()出錯的問題

 更新時間:2020年11月19日 11:27:54   作者:小妮淺淺  
在本篇文章里小編給大家整理的是一篇關(guān)于解決python3中os.popen()出錯的問題的相關(guān)內(nèi)容,有興趣的朋友們可以參考下。

使用程序難免會有出錯的時候,如何從大篇代碼中找出錯誤,不僅考驗能力,還要考驗小伙們的耐心。辛辛苦苦敲出的代碼運行不出結(jié)果,非常著急是可以理解的。那么我們在python3中使用os.popen()出錯該怎么辦?本篇文章小編同樣以錯誤的操作方法為大家進行講解,一起找尋不對的地方吧。

在當前 desktop 目錄下,有如下內(nèi)容:

desktop $ls
client.py  server.py  中文測試
arcpy.txt  codetest.py  test.py

如上所示:有一個中文命名的文件 ----> 中文測試

# -*- coding:utf-8 -*-
# python3.5.1
import os,sys
print (sys.getdefaultencoding()) #系統(tǒng)默認編碼
dir_list = os.listdir()
for li in dir_list:
print (li)

輸出如下:

utf-8
arcpy.txt
client.py
codetest.py
server.py
test.py
中文測試

可以看出默認編碼為 utf-8,os.listdir()命令可以正常輸出中文字符。

 在使用 os.popen()時:

# -*- coding:utf-8 -*-
# python3.5.1
import os,sys
print (sys.getdefaultencoding()) #系統(tǒng)默認編碼
dir_list = os.popen('ls','r').read()
for li in dir_list:
print (li)

報錯如下:

utf-8

Traceback (most recent call last):

File "Desktop/codetest.py", line 8, in <module>

dir_list = os.popen('ls','r').read()

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/encodings/ascii.py", line 26, in decode

return codecs.ascii_decode(input, self.errors)[0]

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 76: ordinal not in range(128)

解決:

命令行執(zhí)行沒有問題,這個是編輯器的事。建議用subprocess

到此這篇關(guān)于解決python3中os.popen()出錯的問題的文章就介紹到這了,更多相關(guān)python3中os.popen()使用出錯怎么辦內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論