7.python

7.python

Python 完整技术指南 目录 点击展开目录 Python 完整技术指南 目录 1. Python 语言基础 1.1 Python 概述 1.1.1 Python 特点与优势 1.1.2 Python 解释器架构 1.2 数据类型深度解析 1.2.1 内置数据类型体系 1.2.2 数据类型详解与性能特性 1.3 控制流与逻辑结构 1.3.1 条件控制的高级用法 1.3.2 循环控制的高级技巧 1.4 函数与作用域 1.4.1 函数参数的高级特性 1.4.2 作用域与LEGB规则 1.5 模块与包管理 1.5.1 模块导入机制深度解析 1.5.2 包管理最佳实践 1.6 标准库常用操作 1.6.1 os模块 - 系统环境与文件操作 1.6.2 subprocess模块 - 系统命令执行 1.6.3 json模块 - JSON数据处理 1.6.4 datetime模块 - 日期时间处理 1.6.5 re模块 - 正则表达式 1.6.6 collections模块 - 特殊容器类型 1.6.7 itertools模块 - 迭代工具 1.6.8 urllib模块 - URL处理与HTTP请求 2. 面向对象编程 2.1 类与对象 2.1.1 类的定义与实例化 2.1.2 属性访问控制 2.2 继承与多态 2.2.1 单继承与方法重写 2.2.2 多重继承与MRO 2.3 特殊方法与运算符重载 2.4 属性与描述符 2.4.1 属性装饰器 2.4.2 描述符协议 3. Python 高级特性 3.1 装饰器 3.1.1 函数装饰器 3.1.2 类装饰器 3.1.3 装饰器应用场景 3.2 生成器与迭代器 3.2.1 迭代器协议 3.2.2 生成器函数 3.2.3 生成器表达式 3.3 上下文管理器 3.3.1 with语句 3.3.2 自定义上下文管理器 3.4 元类与反射 3.4.1 元类基础 3.4.2 反射机制 4. 内存管理与性能优化 4.1 Python 内存模型 4.1.1 对象内存结构 4.2 垃圾回收机制 4.3 性能分析与优化 5. 环境与工具 5.1 开发环境搭建 5.2 包管理工具 5.2.1 pip详细使用指南 5.3 虚拟环境管理 5.3.1 venv标准库 5.3.2 conda环境管理 5.3.3 virtualenv增强工具 5.3.4 pipenv项目管理 5.3.5 poetry现代包管理 5.3.6 pyenv版本管理 5.3.7 Docker环境隔离 5.3.8 环境管理最佳实践 5.4 常用开发工具 5.4.1 Jupyter Notebook详细使用指南 6. 数据处理与分析 6.1 NumPy 基础 6.2 Pandas 数据处理 6.2.1 数据结构与创建 6.2.2 数据读取与写入 6.2.3 数据基本信息与操作 6.2.4 数据清洗与处理 6.2.5 数据索引与选择 6.2.6 数据统计与分析 6.2.7 时间序列处理 6.2.8 数据变形与重塑 6.2.9 数据合并与连接 6.2.10 缺失数据处理 6.2.11 数据采样与过滤 6.2.12 数据库连接 6.2.13 显示设置与配置 6.3 Matplotlib 数据可视化 6.3.1 基础绘图 6.3.2 图形样式与美化 6.3.3 多子图与布局 6.3.4 实战案例 6.4 Bokeh 交互式可视化 6.4.1 Bokeh 基础 6.4.2 基本图表类型 6.4.3 交互式功能 6.4.4 布局与组合 6.4.5 Pandas-Bokeh 集成 6.4.6 高级应用 6.5 Tushare金融数据 6.5.1 安装与注册 6.5.2 基础数据获取 6.5.3 市场数据分析 6.5.4 财务数据获取 6.5.5 数据处理与分析 6.5.6 实战应用案例 6.6 HuggingFace Hub 6.6.1 安装与配置 6.6.2 模型下载与加载 6.6.3 数据集操作 6.6.4 模型上传与分享 6.6.5 实战应用 6.6.6 命令行操作 7. Python面试题集 7.1 基础语法题 题目1:Python中的可变与不可变对象 题目2:深拷贝与浅拷贝 题目3:Python中的作用域 7.2 面向对象题 题目4:类方法、静态方法和实例方法 题目5:多重继承和MRO 7.3 高级特性题 题目6:装饰器的实现原理 题目7:生成器和迭代器 题目8:上下文管理器 7.4 性能优化题 题目9:Python性能优化技巧 题目10:内存管理和垃圾回收 7.5 实战编程题 题目11:实现LRU缓存 题目12:单例模式的多种实现 题目13:实现一个简单的线程池 8. 总结与进阶方向 Python学习路径总结 专业方向选择 持续学习建议 1. Python 语言基础 1.1 Python 概述 1.1.1 Python 特点与优势 Python核心特点: ...

December 25, 2025 · Ralph Wren · 浏览量: --
8.shell

8.shell

目录 点击展开目录 目录 文件操作 文件查找与过滤 文件处理 文件压缩 文件权限管理 HDFS操作 文件查看 文件大小统计 文件上传 文本处理 文件读取 文本过滤 高级文本处理 sed 流编辑器 awk 文本处理工具 grep 文本搜索工具 cut 列提取工具 sort 排序工具 uniq 去重工具 综合应用示例 管道操作详解 控制结构 条件判断 分支语句 循环语句 函数定义 信号与异常处理 字符串处理 字符串基本操作 字符串截取与替换 字符串转换 字符串比较与判断 字符串切割生成数组 正则表达式处理 数组操作 数组定义与初始化 索引数组 数组初始化技巧 数组访问与修改 基本访问操作 数组切片操作 数组修改操作 数组遍历 基本遍历方法 高级遍历技巧 数组操作方法 数组搜索与查找 数组排序 数组去重与合并 数组 Map 操作 字符串分割与数组生成 数组排错与兼容性 关联数组 关联数组基础 关联数组操作 关联数组高级应用 数组实用示例 命令行参数处理 日志处理系统 数据处理管道 数学运算 基本算术运算 整数运算 使用let命令 使用expr命令 高级数学运算 浮点数运算 使用awk进行数学运算 数值比较与判断 数值比较操作 数值范围判断 进制转换 不同进制之间的转换 随机数生成 生成各种随机数 数学运算实用示例 统计计算器 数学函数库 单位转换器 进程管理 进程监控与控制 组合查杀实战(精准定位与终止) 后台任务管理 时间处理 日期格式化 时间计算 网络请求 基本网络命令 高级网络操作 curl 高级用法与变量传递 Shell 中向 curl 传递变量的核心原则 基本原则:变量展开 引号使用口诀 不同场景下的变量传递方法 GET 请求(URL 参数) POST 请求(表单数据) POST 请求(JSON 数据) Header 中传递变量 变量包含特殊字符 Shell 数组与 JSON 处理 Shell 数组与字符串的区分 使用 jq 安全生成 JSON 数组与 JSON 的转换 Shell 数组的进阶操作 计算数组交集 判断数组是否"有效" 数组的清洗与过滤 脚本执行环境与常见错误 Bash 与 sh 的关键区别 常见错误:进程替换语法错误 生产脚本的最佳实践 实战案例:geohash 校验脚本链路 完整流程与黄金模板 关键陷阱与防御性编程 jq 常用操作 1. 基础用法 2. 字段提取与访问 3. 数组操作 4. 过滤与转换 (Map & Select) 5. 排序与去重 6. 构造与修改 JSON 7. 高级统计与计算 8. 格式转换 9. 处理 JSON 行文件 (NDJSON) 10. 常用实战场景 终端代理配置 Windows PowerShell代理 Windows CMD代理 Git Bash代理 Mac终端代理 Linux终端代理 代理测试与故障排除 代理管理脚本 Windows 网络诊断 常用命令行工具 网卡信息解读实战 多网卡路由优先级 开发环境 Node.js 管理 系统监控 资源使用监控 日志分析 性能分析 性能测试工具 性能优化技巧 安全操作 权限管理 加密与解密 数据库操作 MySQL操作 PostgreSQL操作 自动化脚本示例 定时备份 批量处理 Windows 常用操作 PowerShell 基础 文件与目录操作 网络操作 进程与系统管理 常用快捷键与技巧 终端复用(tmux) Cloudflare Wrangler 安装与配置 项目管理 开发调试 部署发布 Pages(静态站点/博客部署) 常用资源操作 配置文件 (wrangler.toml) Hugo 安装与版本 本地开发 内容编写 构建发布 配合 Cloudflare Pages(Direct Upload) 主题与模块(常见维护) 主题本地/远程不一致(排查与修复) OpenSkills 安装与配置 技能管理 常用安装源 文件操作 文件查找与过滤 # 查找目录下以8位数字结尾的文件(YYYYMMDD格式) find /path/to/dir -type f -regextype posix-extended -regex '.*[0-9]{8}$' # 检查文件是否存在 if [ ! -f "$file" ]; then echo "File not found: $file" exit 1 fi # 查找最近7天修改过的文件 find /path/to/dir -type f -mtime -7 # 查找大于100MB的文件 find /path/to/dir -type f -size +100M # 查找并删除空文件 find /path/to/dir -type f -empty -delete # 查找特定权限的文件 find /path/to/dir -type f -perm 644 文件处理 # 分割大文件 split -b 10M large_file.txt output_ # 合并文件 cat output_* > combined_file.txt # 按行分割文件 split -l 1000 large_file.txt output_ # 批量重命名文件 rename 's/\.txt$/.md/' *.txt # 将所有.txt文件重命名为.md # 查找重复文件 fdupes -r /path/to/directory # 创建文件链接 ln -s /path/to/original /path/to/link # 软链接 ln /path/to/original /path/to/link # 硬链接 # 查看二进制文件 hexdump -C binary_file | head # 查看文件类型 file filename # 批量替换文件内容 find . -type f -name "*.txt" -exec sed -i 's/old_text/new_text/g' {} \; # 递归创建目录 mkdir -p path/to/nested/directory 文件压缩 # 压缩文件 gzip a.txt # 压缩并删除原文件 gzip -c a.txt # 压缩并保留原文件 # 解压文件 gunzip your_file.txt.gz # tar压缩 tar -czvf archive.tar.gz directory/ # 创建gzip压缩的tar归档 tar -cjvf archive.tar.bz2 directory/ # 创建bzip2压缩的tar归档 # tar解压 tar -xzvf archive.tar.gz # 解压gzip压缩的tar归档 tar -xjvf archive.tar.bz2 # 解压bzip2压缩的tar归档 # zip压缩 zip -r archive.zip directory/ # zip解压 unzip archive.zip 文件权限管理 # 修改文件权限 chmod 755 file.sh # 设置可执行权限 chmod -R 644 dir/ # 递归修改目录下所有文件权限 # 修改文件所有者 chown user:group file.txt chown -R user:group directory/ # 递归修改 # 设置SUID/SGID/Sticky位 chmod u+s file # 设置SUID chmod g+s directory # 设置SGID chmod +t directory # 设置Sticky位 # 复制权限 getfacl source_file | setfacl --set-file=- target_file # 添加ACL权限 setfacl -m u:user:rwx file.txt # 为特定用户添加权限 setfacl -m g:group:rx file.txt # 为特定组添加权限 HDFS操作 文件查看 # 列出HDFS目录下以8位数字结尾的文件 hadoop fs -ls /path/to/dir | awk '$NF ~ /[0-9]{8}$/ {print $NF}' # 使用grep过滤HDFS目录 hadoop fs -ls /data/dept/bi/dim/data | grep -E "[0-9]{8}$" 文件大小统计 # 获取目录文件大小并选择最后一行 hadoop fs -du -h $line | tail -n 1 >> file_size_result.txt 文件上传 ### 多行文件上传 cat <<EOF | hdfs dfs -put - /path/in/hdfs/multiline.txt This is line 1 This is line 2 This is line 3 EOF 文本处理 文件读取 # 遍历文件每一行 file="example.txt" while IFS= read -r line; do echo "$line" done < "$file" # 另一种读取方式 cat "$file" | while read line; do echo "$line" done 文本过滤 # 查看grep过滤结果的前100个字符 grep "关键词" file.txt | cut -c 1-100 # 显示匹配行及其后5行 curl -s "http://localhost:8080/hotsearch" | grep -A 5 "wallpaper-menu" 高级文本处理 sed 流编辑器 基本语法 ...

December 25, 2025 · Ralph Wren · 浏览量: --