python遇到的一些問題

2021-08-18 12:24:01 字數 2414 閱讀 1003

1.呼叫python的標準影象庫里show()函式,有可能無法顯示。因為他呼叫了xv,但xv在後面的ubuntu版本中xv都不裝了。

解決辦法:先裝乙個imagemagic,就相當於把xv的入口換成了imagemagic的display。

sudo 

apt-get

install imagemagick

安裝完成後記得重新啟動控制台。

2.函式中使用主函式中的相同名字的變數時(子函式沒有定義變數),不用傳引數也是可以用的。

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import

os import

datetime

defback_homecloud_all

():

print

liu

#備份功能: if

__name__=='

__main__':

#初始化日誌檔案

liu ="

liushihao"

back_homecloud_all

()結果是liushihao

3.函式中使用主函式中的相同名字的變數時(子函式中定義了相同名字的變數)。

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import

os import

datetime

defback_homecloud_all

(): liu ="

haoge"

print

liu

#備份功能: if

__name__=='

__main__':

#初始化日誌檔案

liu ="

liushihao"

back_homecloud_all()

print

liu結果是

haoge

liushihao

4.去掉python字串中的指定字元。

importos

#還原功能: if

__name__=='

__main__':

dir="

/home/pi/work/mnt/disk3/samingbackup

" tmp

=list

(dir

) tmp[0

]=''

dir=''.

join

(tmp)

print

"dir is [%s]

"%dir if

os.path.

exists

(dir)==

false:

print

"%s not exits!

"%dir

else:

print

"%s exits!

"%dir

5.去掉字串中的空格。

dir=

"/home/pi/work/mnt/disk3/samingbackup"

#dir = 'hello world'

#dir.replace(' ','')

dir=''

.join

(dir

.split

())

print

dir6.路徑前加r的作用

r是保持字串原始值的意思,就是說不對其中的符號進行轉義。因為windows下的目錄字串中通常有斜槓"\",而斜槓在python的字串中有轉義的作用。例如:\n表示換行如果路徑中有\new就會被轉義。加上r就是為了避免這種情況。
7.requests庫中上傳(post)中文檔名的檔案時,上傳失敗或報錯。

需要修改requests中的庫。

第44行的樣子。

#value = email.utils.encode_rfc2231(value, 'utf-8')  #需要注釋這一行。

value = '%s="%s"' % (name, value.decode('utf-8'))   #修改後就可以上傳中文檔案

8.linux下popen函式引起的殭屍程序defunct以及解決辦法r =

os.popen(cmd)

#執行該命令

使用os模組的popen要使用.close()防止出現殭屍程序.

subprocess.popen([

'df'

, '-h'

], stdout

=subprocess.pipe,

shell

=true

).communicate()).split('\\

n')需要p.wait()

# 新增 wait 函式 來防止出現殭屍程序.

遇到的一些問題心得

一.專案的版本管理。1 gnu 風格的版本號命名格式 主版本號 子版本號 修正版本號 編譯版本號 major version number.minor version number revision number build number 示例 1.2.1,2.0,5.0.0 build 13124...

ubantu遇到的一些問題

給hackywit可以通過sudo提公升root許可權 hackywit cxb hostname cxbhackywit cxb sudo vim etc hosts sudo hackywit 的密碼 127.0.0.1 localhost cxbhackywit cxb sudo apt ge...

opengl 遇到的一些問題

在使用glteximage2d 函式時,發現可以載入512 512大小的,但是卻不能載入2018 1794的。加上畫素儲存的格式就行了 glpixelstorei gl unpack alignment,1 glteximage2d gl texture 2d,0,gl rgb,width,heig...