解決python3中os.popen()出錯(cuò)的問(wèn)題
使用程序難免會(huì)有出錯(cuò)的時(shí)候,如何從大篇代碼中找出錯(cuò)誤,不僅考驗(yàn)?zāi)芰?,還要考驗(yàn)小伙們的耐心。辛辛苦苦敲出的代碼運(yùn)行不出結(jié)果,非常著急是可以理解的。那么我們?cè)趐ython3中使用os.popen()出錯(cuò)該怎么辦?本篇文章小編同樣以錯(cuò)誤的操作方法為大家進(jìn)行講解,一起找尋不對(duì)的地方吧。
在當(dāng)前 desktop 目錄下,有如下內(nèi)容:
desktop $ls client.py server.py 中文測(cè)試 arcpy.txt codetest.py test.py
如上所示:有一個(gè)中文命名的文件 ----> 中文測(cè)試
# -*- coding:utf-8 -*- # python3.5.1 import os,sys print (sys.getdefaultencoding()) #系統(tǒng)默認(rèn)編碼 dir_list = os.listdir() for li in dir_list: print (li)
輸出如下:
utf-8 arcpy.txt client.py codetest.py server.py test.py 中文測(cè)試
可以看出默認(rèn)編碼為 utf-8,os.listdir()命令可以正常輸出中文字符。
在使用 os.popen()時(shí):
# -*- coding:utf-8 -*-
# python3.5.1
import os,sys
print (sys.getdefaultencoding()) #系統(tǒng)默認(rèn)編碼
dir_list = os.popen('ls','r').read()
for li in dir_list:
print (li)
報(bào)錯(cuò)如下:
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í)行沒(méi)有問(wèn)題,這個(gè)是編輯器的事。建議用subprocess

到此這篇關(guān)于解決python3中os.popen()出錯(cuò)的問(wèn)題的文章就介紹到這了,更多相關(guān)python3中os.popen()使用出錯(cuò)怎么辦內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python基礎(chǔ)教程之popen函數(shù)操作其它程序的輸入和輸出示例
- Python?subprocess.Popen?實(shí)時(shí)輸出?stdout的解決方法(正確管道寫法)
- Python調(diào)用系統(tǒng)命令的四種方法詳解(os.system、os.popen、commands、subprocess)
- Python調(diào)用系統(tǒng)命令os.system()和os.popen()的實(shí)現(xiàn)
- python中的subprocess.Popen()使用詳解
- 對(duì)Python subprocess.Popen子進(jìn)程管道阻塞詳解
- Python中的Popen函數(shù)demo演示
相關(guān)文章
五個(gè)Jupyter?Notebook實(shí)用魔法命令分享
Jupyter?Notebook是一個(gè)開源的交互式編程環(huán)境,用于創(chuàng)建和共享包含實(shí)時(shí)代碼、文本等,本文主要來(lái)和大家分享一些有趣的Jupyter?Notebook魔法命令,需要的可以參考一下2023-07-07
python讀寫刪除復(fù)制文件操作方法詳細(xì)實(shí)例總結(jié)
這篇文章主要介紹了python讀寫刪除復(fù)制文件操作方法詳細(xì)實(shí)例總結(jié),需要的朋友可以參考下2021-04-04
Python實(shí)現(xiàn)報(bào)警信息實(shí)時(shí)發(fā)送至郵箱功能(實(shí)例代碼)
這篇文章主要介紹了Python實(shí)現(xiàn)報(bào)警信息實(shí)時(shí)發(fā)送至郵箱,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
使用Nginx+uWsgi實(shí)現(xiàn)Python的Django框架站點(diǎn)動(dòng)靜分離
這篇文章主要介紹了使用Nginx+uWsgi實(shí)現(xiàn)Python的Django框架站點(diǎn)動(dòng)靜分離的部署實(shí)例,即靜態(tài)由Nginx處理而Python頁(yè)面由Django自帶的HTTP服務(wù)器處理,需要的朋友可以參考下2016-03-03
PyTorch+LSTM實(shí)現(xiàn)單變量時(shí)間序列預(yù)測(cè)
時(shí)間序列是指在一段時(shí)間內(nèi)發(fā)生的任何可量化的度量或事件。這篇文章主要為大家介紹了PyTorch+LSTM實(shí)現(xiàn)單變量時(shí)間序列預(yù)測(cè)的相關(guān)資料,需要的可以參考一下2023-02-02
關(guān)于Python作用域自學(xué)總結(jié)
在本文里我們給大家整理了關(guān)于python自學(xué)作用域的相關(guān)知識(shí)點(diǎn)以及實(shí)例代碼,需要的朋友們跟著學(xué)習(xí)下。2019-06-06

