3. python sys模块
3. python sys模块
1.sys.argv 获取命令行参数
import sys
print("Script name:", sys.argv[0]) # 脚本名称
print("Arguments:", sys.argv[1:]) # 其他参数
- 案例:判断文件是否存在
#!/usr/bin/python3
#_*_coding:utf-8_*_
import os
import sys
def main():
# sys.argv.append("") #如果用户未传递参数会触发异常,所以先将参数设置为空
# filename = sys.argv[1]
for filename in sys.argv[1:]:
if not os.path.isfile(filename):
raise SystemExit(filename + ' does not exists ')
elif not os.access(filename,os.R_OK):
raise SystemExit(filename + ' is not accessible ')
else:
print(filename + ' is accessible ')
if __name__ == '__main__':
main()
2.sys.path 获取python模块搜索路径
print("Module search path:", sys.path)
3.sys.modules 获取已加载模块列表
print("Loaded modules:", list(sys.modules.keys()))
4.sys.exit([status]) 退出脚本
if error:
print("Error occurred")
sys.exit(1) # 非零状态码表示失败
5.sys.stdin 标准输入流
user_input = sys.stdin.readline().strip() #交互式输入内容
print("You entered:", user_input)
6.sys.stderr 标准错误流
sys.stderr.write("Error occurred!\n")
7.sys.platform 获取当前运行的平台
print("Platform:", sys.platform)
if sys.platform.startswith("linux"):
print("Running on Linux")
8.sys.exc_info() 获取当前异常信息(返回一个包含异常类型、异常实例和回溯对象的元组。)
try:
1 / 0
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
print("Exception type:", exc_type)
print("Exception value:", exc_value)
9.sys.signals 信号处理
import signal
import sys
def signal_handler(sig, frame):
print("Signal received:", sig)
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)
print("Press Ctrl+C to exit")
signal.pause()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通