当前位置: 首页 > news >正文

为什么说Python 是胶水语言?

​ "Python 是胶水语言"这一说法是指它很擅长将不同的程序或代码库连接在一起,能够让来自不同编程语言或框架的组件无缝协作。Python 具有丰富的库和简单的语法,使得它可以轻松调用其他语言编写的程序或使用不同技术栈的模块。

​ 以下是几个具体的实例,展示了Python 作为胶水语言的特性:

实例 1:调用 C/C++ 代码

​ 使用ctypes 库可以方便地调用 C 函数。
假设有一个简单的 C 函数:

// example.c
#include <stdio.h>int add(int a, int b) {return a + b;
}void say_hello() {printf("Hello, World!\n");
}

采用编译它为共享库:

gcc -shared -o libexample.so -fPIC example.c

然后用 Python 调用这个库:

# example.py
import ctypes# 加载共享库
lib = ctypes.CDLL('./libexample.so')# 定义函数原型
lib.add.argtypes = (ctypes.c_int, ctypes.c_int) # 表示该函数接收两个整数参数
lib.add.restype = ctypes.c_int # 设置 `add` 函数的返回类型# 调用 C 函数
result = lib.add(3, 5)
print(f'Result of add(3, 5): {result}')# 调用无参数 C 函数
lib.say_hello()

运行这个 Python 脚本,你会看到:

在这里插入图片描述

实例 2:集成数据库和 Web 服务

​ Python 强大的库生态,使得它在集成不同技术栈方面非常有优势。例如,连接一个数据库并通过 Flask 框架提供一个简单的 Web API。

# Install required packages:
# pip install flask sqlalchemyfrom flask import Flask, jsonify, request
from sqlalchemy import create_engine, Column, Integer, String, Sequence
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmakerapp = Flask(__name__)
Base = declarative_base()# 创建数据库表 User(id, name, age)
class User(Base):__tablename__ = 'users'id = Column(Integer, Sequence('user_id_seq'), primary_key=True)name = Column(String(50))age = Column(Integer)# 使用的是 SQLite 文件数据库,数据存储到本地文件中,程序结束后数据也会被保留engine = create_engine('sqlite:///mydatabase.db')  # 使用文件存储的 SQLite 数据库
Base.metadata.create_all(engine)  # 创建所有的表Session = sessionmaker(bind=engine)  # 这个Session对象实际上是一个数据库会话或连接,它用于执行数据库操作(如查询、插入、更新、删除等)。
session = Session()# 添加一些数据
new_user = User(name='Bobo', age=52)
session.add(new_user)
session.commit()@app.route('/users', methods=['GET'])
def get_users():users = session.query(User).all()return jsonify([{'id': user.id, 'name': user.name, 'age': user.age} for user in users])@app.route('/user', methods=['POST'])
def add_user():data = request.jsonnew_user = User(name=data['name'], age=data['age'])session.add(new_user)session.commit()return jsonify({'id': new_user.id})if __name__ == '__main__':app.run(debug=True)

​ 这个脚本使用 SQLAlchemy连接 SQLite 数据库,并且通过 Flask 框架提供了一个 Web 接口。运行这个脚本并访问 http://127.0.0.1:5000/users 获取表中记录信息。

​ 使用 http://127.0.0.1:5000/user,访问在本程序中会出现如下错误,出现如下 Method Not Allowed。 错误的原因是因为 HTTP 方法错误。访问 URL http://127.0.0.1:5000/user 时,浏览器默认使用 GET 方法请求,而代码中,/user 端点只允许 POST 方法。
在这里插入图片描述

我们可以使用cURL来发送POST请求:

结合之前的 Flask 示例,我们可以使用 cURL 向我们的 Flask 应用发送一个 POST 请求来添加用户:在 Git Bash
curl -X POST -H "Content-Type: application/json" -d '{"name": "Bo", "age": 30}' http://127.0.0.1:5000/user在 Windows 命令提示符(CMD)或 PowerShell
curl -X POST -H "Content-Type: application/json" -d "{\"name\": \"Bobo\", \"age\": 30}" http://127.0.0.1:5000/user注意:
1. 双引号问题:在 Windows CMD 中,双引号会被用来包裹整个字符串,内部的双引号需要进行转义。 
2. 单引号和双引号的区别:在 Unix 风格的 Shell(如 Git Bash)中,你可以使用单引号包裹整个字符串,JSON 字符串内部的引号不需要转义。建议用Git Bash来测试

​ 第二个实例展示了如何利用Python作为胶水语言,将不同的技术和组件集成在一起进行协作。具体来说,它通过几个方面体现了Python的胶水作用:

1. 数据库连接与操作

​ 在该实例中,使用了SQLAlchemy库与SQLite数据库进行连接和操作。SQLAlchemy是Python中一个非常强大的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库。

代码片段:

from flask import Flask, jsonify, request
from sqlalchemy import create_engine, Column, Integer, String, Sequence
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmakerapp = Flask(__name__)
Base = declarative_base()# 创建数据库表 User(id, name, age)
class User(Base):__tablename__ = 'users'id = Column(Integer, Sequence('user_id_seq'), primary_key=True)name = Column(String(50))age = Column(Integer)# 使用的是 SQLite 文件数据库,数据存储到本地文件中,程序结束后数据也会被保留engine = create_engine('sqlite:///mydatabase.db')  # 使用文件存储的 SQLite 数据库
Base.metadata.create_all(engine)  # 创建所有的表Session = sessionmaker(bind=engine)  # 这个Session对象实际上是一个数据库会话或连接,它用于执行数据库操作(如查询、插入、更新、删除等)。
session = Session()# 添加一些数据
new_user = User(name='Bobo', age=52)
session.add(new_user)
session.commit()
2. 提供Web服务

​ 实例中使用了Flask框架来提供Web服务。Flask是一个轻量级的Web应用框架,适合快速开发和部署Web应用。通过Flask框架,可以轻松定义API端点,并处理HTTP请求和响应。

代码片段:

@app.route('/users', methods=['GET'])
def get_users():users = session.query(User).all()return jsonify([{'id': user.id, 'name': user.name, 'age': user.age} for user in users])@app.route('/user', methods=['POST'])
def add_user():data = request.jsonnew_user = User(name=data['name'], age=data['age'])session.add(new_user)session.commit()return jsonify({'id': new_user.id})if __name__ == '__main__':app.run(debug=True)
3. 数据格式转换

​ 通过jsonify函数,实例实现了将Python对象(如列表和字典)转换为JSON格式的HTTP响应。这体现了Python在数据格式转换和处理方面的灵活性。

代码片段:

from flask import jsonify@app.route('/users', methods=['GET'])
def get_users():users = session.query(User).all()return jsonify([{'id': user.id, 'name': user.name, 'age': user.age} for user in users])
4. 跨模块和库的协作

​ 该实例展示了如何将不同功能的库和模块结合在一起工作。比如,Flask负责处理Web请求和响应,而SQLAlchemy负责数据库操作。Python通过其简单的语法和强大的库生态,使得整合这些组件变得非常方便和高效。

5. 使用第三方库

SQLAlchemy和 Flask 都是Python的第三方库,Python的胶水功能在这里表现为它能够无缝地集成和使用这些库以实现复杂的功能,而不需要开发者编写大量的底层代码。

​ 综上所述,这个实例在数据库连接与操作、提供Web服务、数据格式转换、不同模块和库的协作以及第三方库的使用方面,展示了Python作为胶水语言将各种不同技术和组件整合起来的强大能力。

实例 3:控制和管理系统进程

​ 通过 Python 提供的 subprocess 库,你可以轻松地调用和管理系统进程。

import subprocess# 运行一个简单的系统命令适用于Windows平台
result = subprocess.run(['cmd', '/c', 'dir'], capture_output=True, text=True) # 使用cmd命令解释器,并通过 `/c` 参数执行 `dir` 命令。
print(result.stdout)# 运行另一个 Python 脚本
result = subprocess.run(['python', 'other_script.py'], capture_output=True, text=True)
print(result.stdout)

​ 第三个实例展示了如何使用 Python 的 subprocess 模块来调用和管理系统级别的命令和其他 Python 脚本。这些功能在以下几个方面展示了 Python 作为胶水语言的能力:

1. 调用系统命令

​ Python 可以通过 subprocess 模块轻松地调用和执行系统命令。这使得 Python 能够扮演脚本语言的角色,用于自动化各种系统管理任务,与操作系统直接交互。

import subprocess# 运行一个简单的系统命令适用于Windows平台
result = subprocess.run(['cmd', '/c', 'dir'], capture_output=True, text=True) # 使用cmd命令解释器,并通过 `/c` 参数执行 `dir` 命令。
print(result.stdout)

​ 在这个例子中,Python 调用系统自带的dir/c命令,列出当前目录下的文件并将结果输出。这展示了 Python 与操作系统之间的无缝集成。

2. 执行其他 Python 脚本

​ 除了系统命令,Python 还可以调用其他 Python 脚本,执行这些脚本并捕获其输出。这使得 Python 可以作为主调度器,将多个 Python 脚本整合到一个更大的应用程序或工作流程中。

# 运行另一个 Python 脚本
result = subprocess.run(['python', 'other_script.py'], capture_output=True, text=True)
print(result.stdout)

​ 这个例子展示了如何通过 Python 调用另一个 Python 脚本 other_script.py 并获取其输出。这在多脚本项目或分布式系统中尤其有用。

3. 捕获和处理外部命令的输出

​ 通过 capture_output=Truetext=True 参数,Python 可以捕获并直接处理外部命令的输出,便于后续的逻辑处理或数据分析。这使得 Python 可以整合外部工具的功能,将它们的输出纳入到整个应用程序的工作流程中。

# 运行一个简单的系统命令适用于Windows平台
result = subprocess.run(['cmd', '/c', 'dir'], capture_output=True, text=True)
print(result.stdout)

在这个例子中,Python 捕获了 ls -l 命令的输出,并将其作为字符串处理和打印。

4. 统一的错误处理机制

subprocess 模块还提供了统一的错误处理机制。当外部命令失败时,Python 可以捕获错误信息并进行相应的处理。这使得错误管理变得更加简单和一致。

try:result = subprocess.run(['some_non_existing_command'], capture_output=True, text=True, check=True)
except subprocess.CalledProcessError as e:print(f"Command failed with exit status {e.returncode}")print(e.output)

在这个例子中,如果外部命令失败,Python 可以捕获异常并处理错误信息,提供更好的错误管理能力。

5. 平台独立性

​ Python 的 subprocess 模块是跨平台的,这意味着同样的代码可以在不同操作系统上运行,而不需要做多余的修改。这极大地提高了代码的可移植性和维护性。

import subprocess# 运行一个简单的系统命令 Linux下
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)

无论是在 Linux、macOS 还是 Windows,这段代码都能够工作(在 Windows 上需要将 ls -l 换成相应的命令,例如 dir)。

6. 管道和数据流

subprocess 模块允许我们通过管道将不同进程的输入和输出连接起来,形成数据流。这使得 Python 可以将多个独立的程序组合起来,共同完成一个复杂任务。

# Example: Using pipeline
import subprocess
# 第一阶段:使用 echo 产生文本
# 我们使用 cmd 来调用 echo,因为 echo 是 cmd 的内置命令
cmd1 = ['cmd', '/c', 'echo Hello, World! This is a test.']
# 第二阶段:使用 findstr 查找特定单词
cmd2 = ['findstr', 'World']  # findstr 在 Windows 上用它来查找文本
# 运行第一个命令
result1 = subprocess.run(cmd1, stdout=subprocess.PIPE, text=True)
# 将第一个命令的输出作为输入传递给第二个命令
result2 = subprocess.run(cmd2, input=result1.stdout, capture_output=True, text=True)
# 打印第二个命令的输出
print("Filtered output:", result2.stdout)

​ 在这个实例中,使用了 Windows 平台下的 cmdfindstr 命令,演示了如何通过管道将一个命令的输出传递给另一个命令。这种方式在 Windows 平台上非常实用,可以有效地实现数据流处理和命令的组合使用。

​ 第三个实例通过调用系统命令、执行其他 Python 脚本、捕获和处理外部命令的输出、统一的错误处理机制、平台独立性以及管道和数据流的使用,充分展示了 Python 作为胶水语言的强大能力。它能够将不同的工具和组件无缝地集成到一个统一的工作流程中,提高开发效率和代码的可维护性。

小结

​ 从调用底层的高效 C/C++ 代码,到无缝集成数据库操作及 web 服务,再到进行复杂的系统级别命令管理和数据流处理,Python 出色地充当了“胶水”的角色,把各自独立的发展语言、工具和技术整合到一个统一的环境中。

  1. 与多种语言和技术的无缝整合: 不管是与 C/C++ 库交互,还是与数据库或 Web 服务的整合,Python 都能够轻松完成。

    丰富的库和框架支持SQLAlchemyFlaskctypessubprocess 等强大的三方库和框架让 Python 的集成功能变得平易近人。

  2. 简洁优雅的语法: 简单而清晰的语法使开发者能够迅速编写和调试代码,提高开发效率。

  3. 跨平台: Python 脚本在 Windows、macOS 和 Linux 环境下都能无缝运行,使其成为跨平台开发的理想选择。

​ 因此,Python 作为“胶水语言”不仅是在技术上的能力,更在于它通过简洁优雅的编程方式,将不同的技术轻松连接在一起,使开发者得以在复杂的技术栈中游刃有余。

相关文章:

为什么说Python 是胶水语言?

​ "Python 是胶水语言"这一说法是指它很擅长将不同的程序或代码库连接在一起&#xff0c;能够让来自不同编程语言或框架的组件无缝协作。Python 具有丰富的库和简单的语法&#xff0c;使得它可以轻松调用其他语言编写的程序或使用不同技术栈的模块。 ​ 以下是几个…...

GitLab教程(二):快速上手Git

文章目录 1.将远端代码克隆到本地2.修改本地代码并提交到远程仓库3.Git命令总结git clonegit statusgit addgit commitgit pushgit log 首先&#xff0c;我在Gitlab上创建了一个远程仓库&#xff0c;用于演示使用Gitlab进行版本管理的完整流程&#xff1a; 1.将远端代码克隆到本…...

结构体知识点

基本概念 结构体是一种自定义变量类型&#xff0c;类似于枚举需要自己定义。 它是数据和函数的集合。 在结构体中&#xff0c;可以声明各种变量和方法。 基本语法 1.结构体一般写在namespace语句块中。 2.结构体关键字struct struct 自定义结构体名 {//第一部分//变量//…...

C# —— 显示转换

显示转换: 通过一些方法可以将其他数据类型转换为我们想要的数据类型 1.括号强转 作用: 一般情况下 将高精度的类型转换为低精度 // 语法: 变量类型 变量名 (转换的变量类型名称) 变量; // 注意: 精度问题 范围问题 sbyte sb 1; short s 1; int …...

zip加密txt文件后,暴力破解时会有多个解密密码可以打开的疑问??

最近在做一个关于zip压缩文件解密的测试&#xff0c;发现通过暴力解密时&#xff0c;会有多个解密密码可以打开&#xff0c;非常疑惑&#xff0c;这里做个问题&#xff0c;希望能有大佬解惑。 1、首先在本地创建一个113449.txt的文件&#xff0c;然后右键txt文件选择压缩&…...

css入门宝典

3.1.4 通配符选择器 语法 : *{} 作用 : 让页面中所有的标签执行该样式,通常用来清除间距 例子 : *{ margin: 0; //外间距 padding: 0; //内间距 } 一 CSS基本语法 1基础知识 1.1概述 Css (层叠样式表)是种格式化网页的标准方式&#xff0c; 用于控制设置网页的样式&#xff…...

【AI原理解析】— 星火大模型

目录 1. 模型基础架构 神经网络结构 编码器 解码器 多层神经网络结构 其他自然语言处理技术 2. 训练数据 来源 规模 3. 自监督学习 Masked Language Model (MLM) 4. 参数量与计算能力 大规模参数量 深度学习算法 5. 技术特点 多模态输入 自我学习与迭代 6. 应…...

StarNet实战:使用StarNet实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集 摘要 https://arxiv.org/pdf/2403.19967 论文主要集中在介绍和分析一种新兴的学习范式——星操作&#xff08;Star Operation&#xff09;&#xff0c;这是一种通过元素级乘法融合不同子…...

单链表——AcWing.826单链表

单链表 定义 单链表是一种常见的数据结构&#xff0c;它由一系列节点组成&#xff0c;每个节点包含一个数据元素和一个指向下一个节点的指针。 运用情况 用于实现动态的数据存储和管理&#xff0c;例如实现栈、队列等其他数据结构。在需要频繁进行插入和删除操作时非常有用…...

10:Hello, World!的大小

OpenJudge - 10:Hello, World!的大小 描述 还记得在上一章里&#xff0c;我们曾经输出过的“Hello, World!”吗&#xff1f; 它虽然不是本章所涉及的基本数据类型的数据&#xff0c;但我们同样可以用sizeof函数获得它所占用的空间大小。 请编程求出它的大小&#xff0c;看看跟你…...

【Pandas驯化-03】Pandas中常用统计函数mean、count、std、info使用

【Pandas驯化-03】Pandas中常用统计函数mean、count、std、info使用 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 相关内容文档获取 微…...

WordPress——Argon主题美化

文章目录 Argon主题美化插件类类别标签页面更新管理器文章头图URL查询监视器WordPress提供Markdown语法评论区头像设置发信设置隐藏登陆备份设置缓存插件 主题文件编辑器页脚显示在线人数备案信息(包含备案信息网站运行时间)banner下方小箭头滚动效果站点功能概览下方Links功能…...

Vue部分文件说明

1.eslintignore文件 Eslint会忽略的文件 # Eslint 会忽略的文件.DS_Store node_modules dist dist-ssr *.local .npmrc 2.gitignore # Git 会忽略的文件.DS_Store node_modules dist dist-ssr .eslintcache# Local env files *.local# Logs logs *.log npm-debug.log* yarn-de…...

图书管理系统(SpringBoot+SpringMVC+MyBatis)

目录 1.数据库表设计 2.引入MyBatis和MySQL驱动依赖 3.配置数据库&日志 4.Model创建 5.用户登录功能实现 6.实现添加图书功能 7.实现翻页功能 1.数据库表设计 数据库表是应⽤程序开发中的⼀个重要环节, 数据库表的设计往往会决定我们的应⽤需求是否能顺利实现, 甚至决…...

11.泛型、trait和生命周期(上)

标题 一、泛型数据的引入二、改写为泛型函数三、结构体/枚举中的泛型定义四、方法定义中的泛型 一、泛型数据的引入 下面是两个函数&#xff0c;分别用来取得整型和符号型vector中的最大值 use std::fs::File;fn get_max_float_value_from_vector(src: &[f64]) -> f64…...

UML与设计模式

1、关联关系 关联关系用于描述不同类的对象之间的结构关系&#xff0c;它在一段时间内将多个类的实例连接在一起。关联关系是一种静态关系&#xff0c;通常与运行状态无关&#xff0c;而是由“常识”、“规则”、“法律”等因素决定的&#xff0c;因此关联关系是一种强关联的关…...

如何在Spring Boot中实现图片上传至本地和阿里云OSS

在开发Web应用时&#xff0c;处理文件上传是常见的需求之一&#xff0c;尤其是在涉及到图片、视频等多媒体数据时。本文将详细介绍如何使用Spring Boot实现图片上传至本地服务器以及阿里云OSS存储服务&#xff0c;并提供完整的代码示例。 一、上传图片至本地 首先&#xff0c…...

几个小创新模型,KAN组合网络(LSTM、GRU、Transformer)时间序列预测,python预测全家桶...

截止到本期&#xff0c;一共发了8篇关于机器学习预测全家桶Python代码的文章。参考往期文章如下&#xff1a; 1.终于来了&#xff01;python机器学习预测全家桶 2.机器学习预测全家桶-Python&#xff0c;一次性搞定多/单特征输入&#xff0c;多/单步预测&#xff01;最强模板&a…...

ubuntu18.04 配置 mid360并测试fast_lio

1.在买到Mid360之后&#xff0c;我们可以看到mid360延伸出来了三组线。 第一组线是电源线&#xff0c;包含了红色线正极&#xff0c;和黑色线负极。一般可以用来接9-27v的电源&#xff0c;推荐接12v的电源转换器&#xff0c;或者接14.4v的电源转换器。 第二组线是信号线&#x…...

基于Java的诊所医院管理系统,springboot+html,MySQL数据库,用户+医生+管理员三种身份,完美运行,有一万一千字论文

演示视频 基本介绍 基于Java的诊所医院管理系统&#xff0c;springboothtml&#xff0c;MySQL数据库&#xff0c;用户医生管理员三种身份&#xff0c;完美运行&#xff0c;有一万一千字论文。 用户&#xff1a;个人信息管理、预约医生、查看病例、查看公告、充值、支付费用...…...

gvm 在ubuntu下安装

GVM (Go Version Manager) 是一个用于管理多个Go语言版本的工具。以下是使用GVM安装和切换Go版本的基本步骤和示例代码&#xff1a; 一键安装&#xff08;如果网络没问题情况&#xff09; bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master…...

ChatTTS开源项目推荐

开源热门项目推荐&#xff1a;ChatTTS 标题&#xff1a;对话式人工智能的未来——ChatTTS 随着开源程序的发展&#xff0c;越来越多的程序员开始关注并加入开源大模型的行列。对于开源行业和开源项目不同人有不同的关注点&#xff0c;但无论你是新手还是资深开发者&#xff0c…...

java课设

项目简介:射击生存类小游戏 项目采用技术: 游戏引擎: Unity编程语言: Java图形处理: NVIDIA PhysX (物理引擎), HDRP (High Definition Render Pipeline)音效与音乐: FMOD, Wwise版本控制: Git 功能需求分析: 角色控制&#xff1a;玩家能够使用键盘和鼠标控制角色移动、瞄准…...

【持久层】PostgreSQL使用教程

详细教程点击PostgreSQL 12.2 手册&#xff0c;观看官网中文手册。 PostgreSQL 是一个功能强大且开源的对象关系数据库系统&#xff0c;以其高扩展性和符合标准的优势广受欢迎。随着大数据时代的到来&#xff0c;PostgreSQL 也在大数据处理方面展示了其强大能力。本文将介绍 P…...

OpenCV 4.10 发布

OpenCV 4.10 JPEG 解码速度提升 77%&#xff0c;实验性支持 Wayland、Win ARM64 根据 “OpenCV 中国团队” 介绍&#xff0c;从 4.10 开始 OpenCV 对 JPEG 图像的读取和解码有了 77% 的速度提升&#xff0c;超过了 scikit-image、imageio、pillow。 4.10 版本的一些亮点&…...

5、斐波那契数列、跳台阶

题目&#xff1a; 斐波那契数列 描述&#xff1a; 大家都知道斐波那契数列&#xff0c;现在要求输入一个整数n&#xff0c;请你输出斐波那契数列的第n项。 n<39 <?phpfunction Fibonacci($n) {if($n<0){$f1 0;}else if($n1||$n2){$f1 1;}else{$f1 1; $f2 1;whi…...

WPS相同字体但是部分文字样式不一样解决办法

如下图&#xff0c;在使用wps编辑文档的时候发现有些电脑的文字字体很奇怪&#xff0c;但是把鼠标移到这个文字的位置&#xff0c;发现它和其他正常文字的字体是一样的&#xff0c;都是仿宋_GB2312 正常电脑的文字如下图所示 打开C:\Windows找到Fonts这个文件夹 把仿宋_GB2312这…...

Scala运算符及流程控制

Scala运算符及流程控制 文章目录 Scala运算符及流程控制写在前面运算符算数运算符关系运算符赋值运算符逻辑运算符位运算符运算符本质 流程控制分支控制单分支双分支多分支 循环控制for循环while循环循环中断嵌套循环 写在前面 操作系统&#xff1a;Windows10JDK版本&#xff…...

Github 2024-06-10开源项目周报 Top15

根据Github Trendings的统计,本周(2024-06-10统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目8Jupyter Notebook项目2Go项目2C++项目1Shell项目1Lua项目1JavaScript项目1MDX项目1C项目1HTML项目1Python - 100天从新手到大师 创建…...

9. 文本三剑客之awk

文章目录 9.1 什么是awk9.2 awk命令格式9.3 awk执行流程9.4 行与列9.4.1 取行9.4.2 取列 9.1 什么是awk 虽然sed编辑器是非常方便自动修改文本文件的工具&#xff0c;但其也有自身的限制。通常你需要一个用来处理文件中的数据的更高级工具&#xff0c;它能提供一个类编程环境来…...

做网站的挣钱么/seo刷词

作为入门级L2的升级版&#xff0c;NOA&#xff08;自动辅助导航驾驶&#xff0c;从A点到B点&#xff09;是近年来不少车企主打的亮点组合功能。同时&#xff0c;通过增加激光雷达的感知冗余&#xff0c;一些车企也在推动从高速场景向城区场景的落地。 按照行业内通用的功能定义…...

株洲网站建设公司/网站制作教程

修改日志文件大小&#xff0c;要确保每个节点至少有两组日志文件&#xff0c;步骤如下&#xff1a; <pre name"code" class"html">/*数据库改变redo日志大小 由256m变为100m&#xff0c;由每个实例2组改为每个实例4组*/ select * from v$log; select…...

大鹏网站建设公司/网页制作平台有哪些

1). 在面向对象的方法中&#xff0c;一个对象请求另一个对象为其服务的方式是通过发送A.调用语句B.命令C.口令D.消息正确答案&#xff1a;D2). 下列的( )原始类型在使用流时可以互换。A.byte和booleanB.char和intC.byte和charD.String和char正确答案&#xff1a;B答案解析&…...

网站备案 地址/最近的国际新闻热点

说起操作系统是如何启动的&#xff0c;首先有必要了解一下操作系统诞生的历史背景。通过了解历史背景&#xff0c;我们才能明确操作系统基本的工作逻辑。 操作系统诞生的历史背景 1936年&#xff0c;著名计算机学家图灵提出了图灵机的架构&#xff0c;控制器通过读写数据实现…...

公司注册网站有什么好处/整站优化seo公司哪家好

文章目录快速排序快排求第k小的数归并排序归并排序求逆序对的个数整数二分浮点数二分高精度高精度加法高精度加法压位&#xff08;压9位&#xff09;高精度减法高精度乘法高精度除法前缀和一维前缀和二维前缀和&#xff08;子矩阵的和&#xff09;差分一维差分二维差分&#xf…...

安徽地方政府网站建设情况/漳州seo建站

大数据是一项涉及不同业务和技术领域的技术和工具的集合&#xff0c;海量离线数据分析可以应用于多种商业系统环境&#xff0c;例如&#xff0c;电商海量日志分析、用户行为画像分析、科研行业的海量离线计算分析任务等场景。离线大数据分析概述主流的三大分布式计算框架系统分…...