Python 当前工作目录的路径
获取程序运行的工作目录。
当前工作目录的相对路径
os.curdir
,是个常量,Unix-like 系统下是.
当前工作目录的绝对路径
os.getcwd()
或os.path.abspath(os.curdir)
当前工作目录的上级(父)目录的路径
os.path.dirname(os.getcwd())
获取程序运行的工作目录。
当前工作目录的相对路径os.curdir
,是个常量,Unix-like 系统下是 .
当前工作目录的绝对路径os.getcwd()
或 os.path.abspath(os.curdir)
当前工作目录的上级(父)目录的路径os.path.dirname(os.getcwd())
差集:对于给定的两个集合,返回一个包含所有存在于第一个集合且不存在于第二个集合的元素的新集合。
例如有名单 A,黑名单 B,要从名单A中剔除掉黑名单成员。
Python 创建文件夹,支持多级目录。
def make_dirs(dir_path):
# 去除首尾空白符和右侧的路径分隔符
dir_path = dir_path.strip().rstrip(os.path.sep)
if dir_path:
if not os.path.exists(dir_path): # 如果目录已存在, 则忽略,否则才创建
os.makedirs(dir_path)
使用内置的 input
函数
举例:打印用户的输入
name = input("Please input your name:")
print(name)
举例:按回车键之后退出
input("PRESS ENTER TO QUIT")
sys.exit(0)
dictionary[new_key] = dictionary.pop(old_key)
.pop()
将 Key-Value 条目取出(从字典中删除并返回该条目)
参考文章:
一种是和系统无相关性的程序包,例如一些纯 Python 代码写的程序包,即在本地开发环境和 Lambda 运行时环境中使用的程序包文件一样。
参见 AWS Lambda 准备无平台相关性的 Python 依赖项软件包
另一种是和系统有相关性的程序包,例如一些软件包根据系统不同,会用到不同的二进制文件。
参见 AWS Lambda 准备有平台相关性的 Python 依赖项程序包 (native code)
无平台相关性的软件包,即本地开发环境和 Lambda 运行时环境中使用的程序包文件一样。
直接将本地的依赖项软件包提取出来,打包,然后部署到 AWS Lambda 环境中即可。
native code
mkdir lambda_headless_chrome_python
cd lambda_headless_chrome_python
Dockerfile
FROM lambci/lambda:build-python3.6
ENV AWS_DEFAULT_REGION ap-northeast-1
ENV APP_DIR /var/task
ADD . .
CMD pip install -r requirements.txt -t $APP_DIR && \
zip -9 deploy_package.zip lambda_function.py && \
zip -r9 deploy_package.zip *
docker build -t lambda_headless_chrome .
docker run -v "${PWD}":/var/task lambda_headless_chrome
如果使用了 AWS Chalice 部署项目,且依赖包的体积不大,可以直接使用 Chalice 部署。会自动准备适配 Lambda 环境的依赖包,作为项目代码的一部分,整体压缩打包更新到 Lambda。