Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ryanxhl
code_snippets
提交
206aec57
C
code_snippets
项目概览
Ryanxhl
/
code_snippets
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
code_snippets
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
206aec57
编写于
12月 19, 2017
作者:
C
Corey Schafer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python Context Managers code snippets
上级
fab06d09
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
61 addition
and
0 deletion
+61
-0
Python-Context-Managers/Sample-Dir-One/mydoc.txt
Python-Context-Managers/Sample-Dir-One/mydoc.txt
+0
-0
Python-Context-Managers/Sample-Dir-One/todo.txt
Python-Context-Managers/Sample-Dir-One/todo.txt
+0
-0
Python-Context-Managers/Sample-Dir-One/work.txt
Python-Context-Managers/Sample-Dir-One/work.txt
+0
-0
Python-Context-Managers/Sample-Dir-Two/demo.txt
Python-Context-Managers/Sample-Dir-Two/demo.txt
+0
-0
Python-Context-Managers/Sample-Dir-Two/sample.txt
Python-Context-Managers/Sample-Dir-Two/sample.txt
+0
-0
Python-Context-Managers/Sample-Dir-Two/test.txt
Python-Context-Managers/Sample-Dir-Two/test.txt
+0
-0
Python-Context-Managers/cm_demo.py
Python-Context-Managers/cm_demo.py
+19
-0
Python-Context-Managers/sample.txt
Python-Context-Managers/sample.txt
+1
-0
Python-Context-Managers/snippets.txt
Python-Context-Managers/snippets.txt
+41
-0
未找到文件。
Python-Context-Managers/Sample-Dir-One/mydoc.txt
0 → 100644
浏览文件 @
206aec57
Python-Context-Managers/Sample-Dir-One/todo.txt
0 → 100644
浏览文件 @
206aec57
Python-Context-Managers/Sample-Dir-One/work.txt
0 → 100644
浏览文件 @
206aec57
Python-Context-Managers/Sample-Dir-Two/demo.txt
0 → 100644
浏览文件 @
206aec57
Python-Context-Managers/Sample-Dir-Two/sample.txt
0 → 100644
浏览文件 @
206aec57
Python-Context-Managers/Sample-Dir-Two/test.txt
0 → 100644
浏览文件 @
206aec57
Python-Context-Managers/cm_demo.py
0 → 100644
浏览文件 @
206aec57
import
os
from
contextlib
import
contextmanager
@
contextmanager
def
change_dir
(
destination
):
try
:
cwd
=
os
.
getcwd
()
os
.
chdir
(
destination
)
yield
finally
:
os
.
chdir
(
cwd
)
with
change_dir
(
'Sample-Dir-One'
):
print
(
os
.
listdir
())
with
change_dir
(
'Sample-Dir-Two'
):
print
(
os
.
listdir
())
Python-Context-Managers/sample.txt
0 → 100644
浏览文件 @
206aec57
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\ No newline at end of file
Python-Context-Managers/snippets.txt
0 → 100644
浏览文件 @
206aec57
class Open_File():
def __init__(self, destination):
pass
def __enter__(self):
pass
def __exit__(self, exc_type, exc_val, traceback):
pass
#### Using contextlib ####
@contextmanager
def open_file(file, mode):
f = open(file, mode)
yield f
f.close()
with open_file('sample.txt', 'w') as f:
f.write('Lorem ipsum dolor sit amet, consectetur adipiscing elit.')
print(f.closed)
#### CD Example ####
cwd = os.getcwd()
os.chdir('Sample-Dir-One')
print(os.listdir())
os.chdir(cwd)
cwd = os.getcwd()
os.chdir('Sample-Dir-Two')
print(os.listdir())
os.chdir(cwd)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录