python自學之路 高階習題篇(三)異常篇

2021-09-11 19:48:15 字數 1611 閱讀 9443

1 定義乙個函式func(filename) filename:檔案的路徑,函式功能:開啟檔案,並且返回檔案內容,最後關閉,用異常來處理可能發生的錯誤。

def fuc(fn):

try:

with open(fn, "r") as f:

a = f.read()

except exception as e:

return e

else:

return a

print(fuc("1.txt"))

2 定義乙個函式func(urllist)   urllist:為url的列表,例如:['','',''...] 

import logging,urllib.request

logger = logging.getlogger()

hdlr = logging.filehandler('sendlog.log')

formatter = logging.formatter('%(asctime)s %(levelname)s %(message)s')

hdlr.setformatter(formatter)

logger.addhandler(hdlr)

logger.setlevel(logging.notset)

def func(urllist):

for i in urllist:

try:

f=urllib.request.urlopen(i)

except exception as e:

logging.error(e)

else:

print(f.read())

print(func(["","https:12313245"]))

函式功能:要求依次開啟url,列印url對應的內容,如果有的url打不開,則把url記錄到日誌檔案裡,並且跳過繼續訪問下個url。

import threading

mlock=threading.lock()

num=500

def a():

global num

for i in range(0,100):

mlock.acquire()

num+=1

mlock.release()

l=for i in range(10):

d=threading.thread(target=a)

d.start()

for i in l:

i.join()

print(num)

4 用生成器yield實現斐波拉切數列。

def fblq(num):

x,y=1,1

f=[x]

while y[0-9] \d 全部數字 

\w 單詞類字元 a-z a-z 0-9 _

\w 非單詞類字元

前面的表示式匹配n次

前面的表示式匹配m到n次

+ 前面的表示式,出現1到無限次  最少,出現1次

? 前面的表示式,出現0到1次  最多,出現1次

* 前面的表示式,出現0到無限次 出現不出現,都沒關係

python自學之路 基礎篇(一)

1 info abc info 2 d 結果是什麼,為什麼會報錯呢?typeerror str object does not support item assignment 字串不支援字元賦值。2 如果要把上面的字串info裡面的c替換成d,要怎麼操作呢?info abc b info.repla...

python自學之路 基礎篇(三)

一 下面列表 a 1,2,3,4,5,333,11,44 輸出下面的結果 4,5,333 print a 3 6 二 有下面2個列表 a 1,2,3 b 4,5,6 用2個方法輸出下面結果 1,2,3,4,5,6 a 1 2,3 b 4 5,6 print a b a.extend b print ...

python自學之路 基礎篇(五)

1.已知字串 a aasmr3idd4bgs7dlsf9eaf 要求如下 1.1 請將a字串的大寫改為小寫,小寫改為大寫。a aasmr3idd4bgs7dlsf9eaf print a.swapcase a aasmr3idd4bgs7dlsf9eaf b for n in a if a n z ...