Shebag
写在文件顶部。表示这个py文件可以作为脚步直接运行,系统会使用 python3 执行它。
导入模块
整个导入
部分导入
如果只需使用模块的部分函数,可以用 from ... import ...
1 2 3 4 5 6
| from dotenv import load_dotenv
load_dotenv(...)
|
字符串处理
字符串常量
python的字符串常量同时支持单引号 '' 和双引号 ""。
内嵌变量
1 2
| name = "Becks723" print(f"Hello! My name is {name}.")
|
异常处理
写异常
1 2 3 4 5 6 7 8
| """ 路径沙箱实现 """
path = (WORKDIR / path_str).resolve()
if not path.is_relative_to(WORKDIR): raise ValueError(f"Path escapes workspace: {path_str}")
|
try…except 语句
try...except语句用于处理 try 块里的异常,类比 java/C# 的try...catch。
- except 可以有多个,处理不同种错误,一层层滤下来
- 多种错误的并列写法:
(SomeError1, SomeError2) as e:
IO
拼接路径
1
| path = (base_path / relative_path_str).resolve()
|
1 2 3
| WORKDIR = Path.cwd() path = (WORKDIR / "123").resolve() print(path)
|
是否为相对路径
1 2
| if not some_path.is_relative_to(base_path): print("not relative path")
|
读文件
1
| content = some_file.read_text()
|
写文件
1 2
| content = "This is an apple." some_file.write(content)
|
函数参数加星号
加一个星号
以元组(tuple)形式传入
1 2 3 4 5 6 7 8
| def foo(param1, *param2): print(param1) print(param2)
foo(1,2,3,4,5)
|
加两个星号:**kwargs
以字典(dict)形式传入
1 2 3 4 5 6 7 8
| def bar(param1, **param2): print (param1) print (param2) bar(1,a=2,b=3)
|