當前位置:首頁 » 編程語言 » python的with

python的with

發布時間: 2022-01-13 07:59:37

python的with語句怎樣嵌套使用

with obj1:
with obj2:
obj1 xxx
obj2 xxx
# 你自己的代碼

這樣就可以了

② python with函數怎麼用

with在python中並不是函數,是一個關鍵詞語句,比如if就是關鍵詞語句。

with大多用來打開一個文檔。
比如:
with open('test.txt') as f:
f.read()

這樣就可以讀取名為test的文檔里的內容,並且使用with語句不需要我們手動再調用文件的close()方法來關閉文件,如果test.txt文檔對象不再被使用,with會自動關閉文檔。比較智能一點。

③ python中with python中with as 是什麼意思剛入門求解釋!!!

這個語法是用來代替傳統的try...finally語法的。

with EXPRESSION [ as VARIABLE] WITH-BLOCK

基本思想是with所求值的對象必須有一個__enter__()方法,一個__exit__()方法。

緊跟with後面的語句被求值後,返回對象的__enter__()方法被調用,這個方法的返回值將被賦值給as後面的變數。當with後面的代碼塊全部被執行完之後,將調用前面返回對象的__exit__()方法。

file=open("/tmp/foo.txt")
try:
data=file.read()
finally:
file.close()

使用with...as...的方式替換,修改後的代碼是:

withopen("/tmp/foo.txt")asfile:
data=file.read()
#!/usr/bin/envpython
#with_example01.py


classSample:
def__enter__(self):
print"In__enter__()"
return"Foo"

def__exit__(self,type,value,trace):
print"In__exit__()"


defget_sample():
returnSample()


withget_sample()assample:
print"sample:",sample

執行結果為

In__enter__()
sample:Foo
In__exit__()

1. __enter__()方法被執行

2. __enter__()方法返回的值 - 這個例子中是"Foo",賦值給變數'sample'

3. 執行代碼塊,列印變數"sample"的值為 "Foo"

4. __exit__()方法被調用with真正強大之處是它可以處理異常。可能你已經注意到Sample類的__exit__方法有三個參數- val, type 和 trace。這些參數在異常處理中相當有用。

請採納!

④ python with.as能舉例講解以下with.有什麼用法嗎

with open('abc.txt','r') as f:
balabalabala
等價於
try:
f = open('abc.txt','r')
except:
pass
else:
balabalabala
finally:
f.close()
語法是不是簡潔多了?

⑤ python中with是什麼意思

關鍵字

with 的一般執行過程
一段基本的 with 表達式,其結構是這樣的:
with EXPR as VAR:
BLOCK
其中: EXPR 可以是任意表達式; as VAR 是可選的。

⑥ Python中的with...as用法介紹

這篇文章主要介紹了Python中的with...as用法介紹,本文直接給出用法實例,需要的朋友可以參考下
這個語法是用來代替傳統的try...finally語法的。
代碼如下:
with
EXPRESSION
[
as
VARIABLE]
WITH-BLOCK
基本思想是with所求值的對象必須有一個__enter__()方法,一個__exit__()方法。
緊跟with後面的語句被求值後,返回對象的__enter__()方法被調用,這個方法的返回值將被賦值給as後面的變數。當with後面的代碼塊全部被執行完之後,將調用前面返回對象的__exit__()方法。

代碼如下:
file
=
open("/tmp/foo.txt")
try:
data
=
file.read()
finally:
file.close()
使用with...as...的方式替換,修改後的代碼是:
代碼如下:
with
open("/tmp/foo.txt")
as
file:
data
=
file.read()
#!/usr/bin/env
python
#
with_example01.py
class
Sample:
def
__enter__(self):
print
"In
__enter__()"
return
"Foo"
def
__exit__(self,
type,
value,
trace):
print
"In
__exit__()"
def
get_sample():
return
Sample()
with
get_sample()
as
sample:
print
"sample:",
sample
執行結果為

代碼如下:
In
__enter__()
sample:
Foo
In
__exit__()
1.
__enter__()方法被執行
2.
__enter__()方法返回的值
-
這個例子中是"Foo",賦值給變數'sample'
3.
執行代碼塊,列印變數"sample"的值為
"Foo"
4.
__exit__()方法被調用with真正強大之處是它可以處理異常。可能你已經注意到Sample類的__exit__方法有三個參數-
val,
type

trace。這些參數在異常處理中相當有用。我們來改一下代碼,看看具體如何工作的。

⑦ 為什麼python這個with後面只運行了4、5行後面的代碼都沒有運行啊

讀取文件,返回的是一個句柄(比較老套的說法--!)
python的說法,就是返回一個迭代器,指向的是這個文件的最開始的地方。迭代器裡面有個next方法,你調一次,就返回一次的結果,如果已經結束了,就退出(報異常,內部捕獲處理掉了)。。。你在for裡面調用了「讀取一行」的操作,且循環直到文件讀取結束,所以就在for那步驟里,把整個文件全部都讀完了。後面自然是啥都沒有

⑧ 如何用python 中with 用法

要使用 with 語句,首先要明白上下文管理器這一概念。有了上下文管理器,with 語句才能工作。
下面是一組與上下文管理器和with 語句有關的概念。
上下文管理協議(Context Management Protocol):包含方法 __enter__() 和 __exit__(),支持
該協議的對象要實現這兩個方法。
上下文管理器(Context Manager):支持上下文管理協議的對象,這種對象實現了
__enter__() 和 __exit__() 方法。上下文管理器定義執行 with 語句時要建立的運行時上下文,
負責執行 with 語句塊上下文中的進入與退出操作。通常使用 with 語句調用上下文管理器,
也可以通過直接調用其方法來使用。
運行時上下文(runtime context):由上下文管理器創建,通過上下文管理器的 __enter__() 和
__exit__() 方法實現,__enter__() 方法在語句體執行之前進入運行時上下文,__exit__() 在
語句體執行完後從運行時上下文退出。with 語句支持運行時上下文這一概念。
上下文表達式(Context Expression):with 語句中跟在關鍵字 with 之後的表達式,該表達式
要返回一個上下文管理器對象。

⑨ python with...as

簡單的說with/as語句的設計是作為常見的try/finally用法的模式替代方案.
用於定義必須執行的終止或清理行為.
例如下面的用法可以確保文件打開之後一定自動關閉,無論是否發生異常

withopen(r'c:\mis.data')as myfile:
do something

⑩ Python新手,怎麼使用with語句對於with語句及其用法有哪些

比如打開一個文件
with open (filename,'r') as fp:
for line in fp:
print line
with語句主要是實現打開和關閉簡寫為一條語句,上面的例子在for循環完成後 文件自動關閉

熱點內容
sqllocaldb 發布:2024-12-22 20:07:08 瀏覽:122
如何找到我的伺服器 發布:2024-12-22 19:52:14 瀏覽:298
手掛機腳本游 發布:2024-12-22 19:38:00 瀏覽:429
層次原理圖如何編譯 發布:2024-12-22 19:27:17 瀏覽:371
android計算緩存大小 發布:2024-12-22 19:16:54 瀏覽:660
php訪問模塊 發布:2024-12-22 19:05:24 瀏覽:272
電梯IC加密 發布:2024-12-22 19:04:47 瀏覽:376
腳本圈是引流加粉嗎 發布:2024-12-22 18:41:26 瀏覽:392
ajax文件上傳表單提交 發布:2024-12-22 17:55:00 瀏覽:856
win7無法共享的文件夾 發布:2024-12-22 17:53:39 瀏覽:41