Jadual Kandungan
1. Gambaran Keseluruhan
2 Elemen teras Playbook
playbook menggunakan
Barisan pertama fail harus bermula. dengan "--- ” (tiga sempang), menunjukkan permulaan fail YAML.
2) pembolehubah pembolehubah
2、用户自定义变量
3、通过roles传递变量
4、 Host Inventory
3)流程控制
1、用when 来表示的条件判断
2、标签(只执行配置文件中的一个任务)
3、循环 with_items
4、循环嵌套(字典)
4)模板 templates
1、定义模板" >1、定义模板
2、定义yaml编排" >2、定义yaml编排
5)handlers(触发事件)
6)roles
1、roles介绍与优势
2、目录结构
3、实战操作
Rumah Operasi dan penyelenggaraan Keselamatan Penjelasan Ansible Playbook dan operasi praktikal

Penjelasan Ansible Playbook dan operasi praktikal

Jun 09, 2023 pm 08:58 PM
senarai

1. Gambaran Keseluruhan

  • buku main Berbanding dengan ad-hoc, ia adalah A sepenuhnya cara yang berbeza untuk menggunakan ansible, serupa dengan fail keadaan saltstack. Ad-hoc tidak boleh digunakan secara kekal, playbook boleh digunakan secara kekal.
  • buku permainan ialah senarai yang terdiri daripada satu atau beberapa drama Fungsi utama permainan adalah untuk mendandani hos yang telah dikumpulkan ke dalam kumpulan terlebih dahulu peranan yang ditakrifkan oleh tugas.
  • Pada asasnya, tugas yang dipanggil tidak lebih daripada modul yang boleh dikatakan boleh. Menyusun berbilang mainan ke dalam buku permainan membolehkan mereka digabungkan untuk menyelesaikan tugas tertentu mengikut mekanisme yang telah ditetapkan.

Dokumentasi rujukan: https://ansible-tran.readthedocs.io/en/latest/docs/playbooks.html

Untuk pengenalan asas dan penggunaan persekitaran Ansible, sila rujuk artikel saya: Pengenalan Ansible dan demonstrasi operasi praktikal


Ansible Playbook 讲解与实战操作


2 Elemen teras Playbook

  • Hos<.> Senarai hos jauh yang dilaksanakan
  • TugasanSet Tugasan
  • VarniableTerbina dalam pembolehubah atau Pembolehubah tersuai memanggil templat
  • Templat dalam buku main, iaitu fail menggunakan sintaks templat, seperti fail konfigurasi, dll.
  • Pengendali digunakan dalam kombinasi dengan operasi yang dicetuskan oleh syarat tertentu hanya akan dilaksanakan jika syarat itu dipenuhi, jika tidak, ia tidak akan dilaksanakan 🎜>Tag
  • teg menyatakan item tertentu Pelaksanaan tugasan digunakan untuk memilih dan menjalankan sebahagian daripada kod dalam buku main. 3. Sintaks Playbook (yaml)

playbook menggunakan

  • yaml format sintaks, akhiran Ia boleh menjadi yaml, atau boleh jadi yml. YAML ( /ˈjæməl/ ) merujuk banyak bahasa lain, termasuk: XML, bahasa C, Python, Perl dan format e-mel RFC2822, yang pertama kali diterbitkan oleh Clark Evans pada Mei 2001. bahasa, Ingy döt Net dan Oren Ben-Kiki juga merupakan pereka bersama bahasa ini.
  • Format YAML ialah format fail yang serupa dengan JSON. YAML digunakan untuk penulisan konfigurasi fail, dan JSON kebanyakannya digunakan untuk pembangunan dan reka bentuk.
  • 1) Pengenalan YAML
  • 1 Format YAML adalah seperti berikut

Barisan pertama fail harus bermula. dengan "--- ” (tiga sempang), menunjukkan permulaan fail YAML.

  • Dalam baris yang sama, kandungan selepas # menunjukkan ulasan, serupa dengan shell, python dan ruby.
  • Senaraikan elemen dalam YAML bermula dengan "-" dan diikuti dengan ruang. Apa yang berikut ialah kandungan unsur.
  • Elemen dalam senarai yang sama harus mengekalkan lekukan yang sama, jika tidak, ia akan dianggap sebagai ralat.
  • Hos, pembolehubah, peranan, tugas dan objek lain dalam permainan dinyatakan dengan mengasingkan nilai utama dengan ":", dan ruang mesti ditambah selepas ":" .
  • 2. Penjelasan fail konfigurasi yaml Playbook
    Hosts:运行指定任务的目标主机
    remoute_user:在远程主机上执行任务的用户;
    sudo_user:
    tasks:任务列表
     
    tasks的具体格式:
     
    tasks:
    - name: TASK_NAME
    module: arguments
    notify: HANDLER_NAME
    handlers:
    - name: HANDLER_NAME
    module: arguments
     
    ##模块,模块参数:
    格式如下:
    (1)action: module arguments
     (2) module: arguments
    注意:shell和command模块后直接加命令,而不是key=value类的参数列表
     
     
    handlers:任务,在特定条件下触发;接受到其他任务的通知时被触发;
    Salin selepas log masuk
  • 3 Contoh
---
- hosts: web
remote_user: root
tasks:
- name: install nginx##安装模块,需要在被控主机里加上nginx的源
yum: name=nginx state=present
- name: copy nginx.conf##复制nginx的配置文件过去,需要在本机的/tmp目录下编辑nginx.conf
copy: src=/tmp/nginx.conf dest=/etc/nginx/nginx.conf backup=yes
notify: reload#当nginx.conf发生改变时,通知给相应的handlers
tags: reloadnginx#打标签
- name: start nginx service#服务启动模块
service: name=nginx state=started
tags: startnginx#打标签

handlers:
- name: reload
service: name=nginx state=restarted
Salin selepas log masuk
2) pembolehubah pembolehubah

pembolehubah. Terdapat empat cara untuk menentukan pembolehubah. Seperti berikut:

1 Fakta: Anda boleh terus menghubungi

Terdapat modul persediaan dalam ansible Modul ini dilaksanakan melalui komponen fakta, iaitu a sistem nod itu sendiri Maklumat, maklumat bios, rangkaian, cakera keras dan maklumat lain. Pembolehubah di sini juga boleh memanggil terus fakta komponen fakta Kita boleh menggunakan modul

persediaan untuk mendapatkannya, dan kemudian meletakkannya terus ke dalam skrip kami untuk memanggilnya. .

ansible web -m setup
Salin selepas log masuk

Ansible Playbook 讲解与实战操作

常用的几个参数:

ansible_all_ipv4_addresses # ipv4的所有地址
ansible_all_ipv6_addresses # ipv6的所有地址
ansible_date_time # 获取到控制节点时间
ansible_default_ipv4 # 默认的ipv4地址
ansible_distribution # 系统
ansible_distribution_major_version # 系统的大版本
ansible_distribution_version # 系统的版本号
ansible_domain #系统所在的域
ansible_env #系统的环境变量
ansible_hostname #系统的主机名
ansible_fqdn #系统的全名
ansible_machine #系统的架构
ansible_memory_mb #系统的内存信息
ansible_os_family # 系统的家族
ansible_pkg_mgr # 系统的包管理工具
ansible_processor_cores #系统的cpu的核数(每颗)
ansible_processor_count #系统cpu的颗数
ansible_processor_vcpus #系统cpu的总个数=cpu的颗数*CPU的核数
ansible_python # 系统上的python
Salin selepas log masuk

搜索

ansible web -m setup -a 'filter=*processor*'
Salin selepas log masuk

Ansible Playbook 讲解与实战操作

2、用户自定义变量

自定义变量有两种方式

  • 通过命令行传入
ansible-playbook命令行中的 -e VARS,--extra-vars VARS,这样就可以直接把自定义的变量传入
Salin selepas log masuk

使用playbook定义变量,实例如下:

---
- hosts: web
remote_user: root
tasks:

- name: install {{ rpmname }}
yum: name={{ rpmname }} state=present
- name: copy {{ rpmname }}.conf
copy: src=/tmp/{{ rpmname }}.conf dest=/etc/{{ rpmname }}/{{ rpmname }}.conf backup=yes
notify: reload
tags: reload{{ rpmname }}
- name: start {{ rpmname }} service
service: name={{ rpmname }} state=started
tags: start{{ rpmname }}
 
handlers:
- name: reload
service: name={{ rpmname }} state=restarted
Salin selepas log masuk

使用:

ansible-playbook nginx.yml -e rpmname=keepalived
ansible-playbook nginx.yml --extra-vars rpmname=keepalived
Salin selepas log masuk
  • 在playbook中定义变量
##在playbook中定义变量如下:
vars:
- var1: value1
- var2: value2
Salin selepas log masuk

使用:

---
- hosts: web
remote_user: root
vars:
- rpmname: keepalived
tasks:
- name: install {{ rpmname }}
yum: name={{ rpmname }} state=present
- name: copy {{ rpmname }}.conf
copy: src=/tmp/{{ rpmname }}.conf dest=/etc/{{ rpmname }}/{{ rpmname }}.conf backup=yes
notify: reload
tags: reload{{ rpmname }}
- name: start {{ rpmname }} service
service: name={{ rpmname }} state=started
tags: start{{ rpmname }}
 
handlers:
- name: reload
service: name={{ rpmname }} state=restarted
Salin selepas log masuk

3、通过roles传递变量

下面介绍roles会使用roles传递变量,小伙伴可以翻到下面看详解讲解。

4、 Host Inventory

可以在主机清单中定义,方法如下:

#向不同的主机传递不同的变量
IP/HOSTNAME varaiable=value var2=value2
 
#向组中的主机传递相同的变量
[groupname:vars]
variable=value
Salin selepas log masuk

3)流程控制

1、用when 来表示的条件判断

- hosts: web
remote_user: root#代表用root用户执行,默认是root,可以省略
tasks:
- name: createfile
copy: content="test3" dest=/opt/p1.yml
when: a=='3'
- name: createfile
copy: content="test4" dest=/opt/p1.yml
when: a=='4'
Salin selepas log masuk

如果a"3",就将“test3”,写入到web组下被管控机的/opt/p1.yml中,
如果a"4",就将“test4”,写入到web组下被管控机的/opt/p1.yml中。

执行

# 语法校验
ansible-playbook--syntax-check p1.yml

#执行
ansible-playbook -e 'a="3"' p1.yml
Salin selepas log masuk

2、标签(只执行配置文件中的一个任务)

- hosts: web
tasks:
- name: installnginx
yum: name=nginx
- name: copyfile
copy: src=/etc/nginx/nginx.conf dest=/etc/nginx/nginx.conf
tags: copyfile
- name: start
service: name=nginx static=restarted
Salin selepas log masuk

执行

# 语法校验
ansible-playbook--syntax-check p2.yml

#执行
ansible-playbook -t copyfile p2.yml 
Salin selepas log masuk

3、循环 with_items

创建三个用户

- hosts: web
tasks:
- name: createruser
user: name={{ item }}
with_items:
- shy1
- shy2
- shy3
- name: creategroup
group: name={{ item }}
with_items:
- group1
- group2
- group3 
Salin selepas log masuk

执行

#语法校验
ansible-playbook--syntax-check p3.yml

#执行
ansible-playbook p3.yml 
Salin selepas log masuk

4、循环嵌套(字典)

用户shy1的属组是group1,用户shy2的属组是group2,用户shy3的属组是group3

- hosts: web
tasks:
- name: creategroup
group: name={{item}}
with_items:
- group3
- group4
- group5
- name: createuser
user: name={{item.user}} group={{item.group}}
with_items:
- {'user': shy3,'group': group3}
- {'user': shy4,'group': group4}
- {'user': shy5,'group': group5}
Salin selepas log masuk

执行

#语法校验
ansible-playbook--syntax-check p4.yml

#执行
ansible-playbook p4.yml 
Salin selepas log masuk

4)模板 templates

  • 模板是一个文本文件,嵌套有脚本(使用模板编程语言编写)
  • Jinja2是python的一种模板语言,以Django的模板语言为原本

该模板支持:

字符串:使用单引号或双引号;
数字:整数,浮点数;
列表:[item1, item2, ...]
元组:(item1, item2, ...)
字典:{key1:value1, key2:value2, ...}
布尔型:true/false
算术运算:
+, -, *, /, //, %, **
比较操作:
==, !=, >, >=, <, <=
逻辑运算:
and, or, not
Salin selepas log masuk
  • 通常模板都是通过引用变量来运用的

【示例】

1、定义模板

usernginx; #设置nginx服务的系统使用用户
worker_processes{{ ansible_processor_vcpus }}; #工作进程数

error_log/var/log/nginx/error.log warn; #nginx的错误日志
pid/var/run/nginx.pid; #nginx启动时候的pid

events {
worker_connections1024; #每个进程允许的最大连接数
}

http { #http请求配置,一个http可以包含多个server

#定义 Content-Type
include /etc/nginx/mime.types;
default_typeapplication/octet-stream;

#日志格式 此处main与access_log中的main对应
#$remote_addr:客户端地址
#$remote_user:http客户端请求nginx认证的用户名,默认不开启认证模块,不会记录
#$timelocal:nginx的时间
#$request:请求method + 路由 + http协议版本
#status:http reponse 状态码
#body_bytes_sent:response body的大小
#$http_referer:referer头信息参数,表示上级页面
#$http_user_agent:user-agent头信息参数,客户端信息
#$http_x_forwarded_for:x-forwarded-for头信息参数
log_formatmain'$http_user_agent' '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

#访问日志,后面的main表示使用log_format中的main格式记录到access.log中
access_log/var/log/nginx/access.logmain;

#nginx的一大优势,高效率文件传输
sendfileon;
#tcp_nopush on;

#客户端与服务端的超时时间,单位秒
keepalive_timeout65;

#gzipon;
server { #http服务,一个server可以配置多个location
listen {{ nginxport }}; #服务监听端口
server_namelocalhost; #主机名、域名

#charset koi8-r;
#access_log/var/log/nginx/host.access.logmain;

location / {
root /usr/share/nginx/html; #页面存放目录
indexindex.html index.htm; #默认页面
}

#error_page404/404.html;

# 将500 502 503 504的错误页面重定向到 /50x.html
error_page 500 502 503 504/50x.html;
location = /50x.html { #匹配error_page指定的页面路径
root /usr/share/nginx/html; #页面存放的目录
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
#root html;
#fastcgi_pass 127.0.0.1:9000;
#fastcgi_indexindex.php;
#fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
#includefastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#denyall;
#}
}
include /etc/nginx/conf.d/*.conf;
}
Salin selepas log masuk
Salin selepas log masuk

2、定义yaml编排

---
- hosts: web
remote_user: root
vars:
- rpmname: nginx
- nginxport: 8088
tasks:
- name: install {{ rpmname }}
yum: name={{ rpmname }} state=present
- name: copy {{ rpmname }}.conf
copy: src=/tmp/{{ rpmname }}.conf dest=/etc/{{ rpmname }}/{{ rpmname }}.conf backup=yes
notify: reload
tags: reload{{ rpmname }}
- name: start {{ rpmname }} service
service: name={{ rpmname }} state=started
tags: start{{ rpmname }}
 
handlers:
- name: reload
service: name={{ rpmname }} state=restarted
Salin selepas log masuk

使用

##使用reloadnginx标签,重新加载剧本
Salin selepas log masuk

copy与template的区别

  • copy模块不替代参数,template模块替代参数
  • template的参数几乎与copy的参数完全相同

5)handlers(触发事件)

notify:触发
handlers:触发的动作
Salin selepas log masuk

使用上场景:修改配置文件时

【示例】 正常情况时handlers是不会执行的

- hosts: web
tasks:
- name: installredis
yum: name=redis
- name: copyfile
template: src=redis.conf dest=/etc/redis.conf
tags: copyfile
notify: restart
- name: start
service: name=redis state=started
handlers:
- name: restart
service: name=redis
Salin selepas log masuk

执行

ansible-playbook -t copyfile p6.yml
Salin selepas log masuk

6)roles

1、roles介绍与优势

一般情况下将roles写在/etc/ansible/roles中,也可以写在其他任意位置(写在其他位置要自己手动建立一个roles文件夹)

  • 对于以上所有方式有个缺点就是无法实现同时部署web、database、keepalived等不同服务或者不同服务器组合不同的应用就需要写多个yaml文件,很难实现灵活的调用
  • roles用于层次性,结构化地组织playbook。roles能够根据层次结果自动装载变量文件、tasks以及handlers等。
  • 要使用roles只需要在playbook中使用include指令即可。
  • 简单来讲,roles就是通过分别将变量(vars)、文件(files)、任务(tasks)、模块(modules)以及处理器(handlers)放置于单独的目录中,并且可以便捷的include它们地一种机制。
  • 角色一般用于基于主机构建服务的场景中,但是也可以用于构建守护进程等场景中。4

2、目录结构

创建目录

mkdir -pv ./{nginx,mysql,httpd}/{files,templates,vars,tasks,handlers,meta,default}
Salin selepas log masuk
Salin selepas log masuk

Ansible Playbook 讲解与实战操作

  • roles/
  • mysql/:mysql服务的yml文件
  • httpd/:apached服务的yml文件
  • nginx/:nginx服务的yml文件
  • files/:存储由copy或者script等模块调用的文件或者脚本;
  • tasks/:此目录中至少应该有一个名为main.yml的文件,用于定义各个task;其他文件需要由main.yml进行包含调用;
  • handlers/:此目录中至少应该有一个名为main.yml的文件,用于定义各个handler;其他文件需要由main.yml进行包含调用;
  • vars/:此目录至少应该有一个名为main,yml的文件,用于定义各个variable;其他的文件需要由main.yml进行包含调用;
  • templates/:存储由templates模块调用的模板文件;
  • meta/:此目录中至少应该有一个名为main.yml的文件,定义当前角色的特殊设定以及依赖关系,其他文件需要由main.yml进行包含调用;
  • default/:此目录至少应该有一个名为main.yml的文件,用于设定默认变量;

3、实战操作

【1】创建目录

mkdir -pv ./{nginx,mysql,httpd}/{files,templates,vars,tasks,handlers,meta,default}
Salin selepas log masuk
Salin selepas log masuk

【2】定义配置文件

先下载nginx rpm部署包

# 下载地址:http://nginx.org/packages/centos/7/x86_64/RPMS/
 wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.18.0-1.el7.ngx.x86_64.rpm -O nginx/files/nginx-1.18.0-1.el7.ngx.x86_64.rpm
Salin selepas log masuk
  • nginx/tasks/main.yml
- name: cp
copy: src=nginx-1.18.0-1.el7.ngx.x86_64.rpm dest=/tmp/nginx-1.18.0-1.el7.ngx.x86_64.rpm
- name: install
yum: name=/tmp/nginx-1.18.0-1.el7.ngx.x86_64.rpm state=latest
- name: conf
template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
tags: nginxconf
notify: new conf to reload
- name: start service
service: name=nginx state=started enabled=true
Salin selepas log masuk
  • nginx/templates/nginx.conf.j2
usernginx; #设置nginx服务的系统使用用户
worker_processes{{ ansible_processor_vcpus }}; #工作进程数

error_log/var/log/nginx/error.log warn; #nginx的错误日志
pid/var/run/nginx.pid; #nginx启动时候的pid

events {
worker_connections1024; #每个进程允许的最大连接数
}

http { #http请求配置,一个http可以包含多个server

#定义 Content-Type
include /etc/nginx/mime.types;
default_typeapplication/octet-stream;

#日志格式 此处main与access_log中的main对应
#$remote_addr:客户端地址
#$remote_user:http客户端请求nginx认证的用户名,默认不开启认证模块,不会记录
#$timelocal:nginx的时间
#$request:请求method + 路由 + http协议版本
#status:http reponse 状态码
#body_bytes_sent:response body的大小
#$http_referer:referer头信息参数,表示上级页面
#$http_user_agent:user-agent头信息参数,客户端信息
#$http_x_forwarded_for:x-forwarded-for头信息参数
log_formatmain'$http_user_agent' '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

#访问日志,后面的main表示使用log_format中的main格式记录到access.log中
access_log/var/log/nginx/access.logmain;

#nginx的一大优势,高效率文件传输
sendfileon;
#tcp_nopush on;

#客户端与服务端的超时时间,单位秒
keepalive_timeout65;

#gzipon;
server { #http服务,一个server可以配置多个location
listen {{ nginxport }}; #服务监听端口
server_namelocalhost; #主机名、域名

#charset koi8-r;
#access_log/var/log/nginx/host.access.logmain;

location / {
root /usr/share/nginx/html; #页面存放目录
indexindex.html index.htm; #默认页面
}

#error_page404/404.html;

# 将500 502 503 504的错误页面重定向到 /50x.html
error_page 500 502 503 504/50x.html;
location = /50x.html { #匹配error_page指定的页面路径
root /usr/share/nginx/html; #页面存放的目录
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
#root html;
#fastcgi_pass 127.0.0.1:9000;
#fastcgi_indexindex.php;
#fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
#includefastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#denyall;
#}
}
include /etc/nginx/conf.d/*.conf;
}
Salin selepas log masuk
Salin selepas log masuk
  • nginx/vars/main.yml
nginxport: 9999
Salin selepas log masuk
  • nginx/handlers/main.yml
- name: new conf to reload
service: name=nginx state=restarted
Salin selepas log masuk
  • 定义剧本文件(roles.yml
- hosts: web
remote_user: root
roles:
- nginx
Salin selepas log masuk

最后的目录结构如下:

Ansible Playbook 讲解与实战操作

执行

ansible-playbook roles.yml
Salin selepas log masuk

Ansible Playbook 讲解与实战操作


Atas ialah kandungan terperinci Penjelasan Ansible Playbook dan operasi praktikal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengalih keluar kurungan segi empat sama dari senarai menggunakan Python Bagaimana untuk mengalih keluar kurungan segi empat sama dari senarai menggunakan Python Sep 05, 2023 pm 07:05 PM

Python ialah perisian yang sangat berguna yang boleh digunakan untuk pelbagai tujuan bergantung kepada keperluan. Python boleh digunakan dalam pembangunan web, sains data, pembelajaran mesin dan banyak lagi bidang lain yang memerlukan automasi. Ia mempunyai banyak ciri berbeza yang membantu kami melaksanakan tugasan ini. Senarai Python adalah salah satu ciri Python yang sangat berguna. Seperti namanya, senarai mengandungi semua data yang anda ingin simpan. Ia pada asasnya adalah satu set pelbagai jenis maklumat. Cara Berbeza untuk Mengeluarkan Kurungan Segi Empat Banyak kali, pengguna menemui situasi di mana item senarai dipaparkan dalam kurungan segi empat sama. Dalam artikel ini, kami akan memperincikan cara mengalih keluar kurungan ini untuk mendapatkan paparan yang lebih baik tentang penyenaraian anda. Salah satu cara paling mudah untuk mengalih keluar kurungan dalam rentetan dan fungsi penggantian adalah dalam

Cara mengira bilangan elemen dalam senarai menggunakan fungsi count() Python Cara mengira bilangan elemen dalam senarai menggunakan fungsi count() Python Nov 18, 2023 pm 02:53 PM

Cara menggunakan fungsi count() Python untuk mengira bilangan elemen dalam senarai memerlukan contoh kod khusus Sebagai bahasa pengaturcaraan yang berkuasa dan mudah dipelajari, Python menyediakan banyak fungsi terbina dalam untuk mengendalikan struktur data yang berbeza. Salah satunya ialah fungsi count(), yang boleh digunakan untuk mengira bilangan elemen dalam senarai. Dalam artikel ini, kami akan menerangkan cara menggunakan fungsi count() secara terperinci dan memberikan contoh kod khusus. Fungsi count() ialah fungsi terbina dalam Python, digunakan untuk mengira sesuatu

Cara Membuat Senarai Beli-belah dalam Apl Peringatan iOS 17 pada iPhone Cara Membuat Senarai Beli-belah dalam Apl Peringatan iOS 17 pada iPhone Sep 21, 2023 pm 06:41 PM

Cara Membuat Senarai Runcit pada iPhone dalam iOS17 Mencipta Senarai Runcit dalam apl Peringatan adalah sangat mudah. Anda hanya menambah senarai dan mengisinya dengan item anda. Apl ini secara automatik mengisih item anda ke dalam kategori, dan anda juga boleh bekerjasama dengan pasangan anda atau rakan kongsi rata untuk membuat senarai barang yang anda perlu beli dari kedai. Berikut ialah langkah penuh untuk melakukan ini: Langkah 1: Hidupkan Peringatan iCloud Walaupun kedengaran pelik, Apple berkata anda perlu mendayakan peringatan daripada iCloud untuk mencipta Senarai Runcit pada iOS17. Berikut ialah langkah untuknya: Pergi ke apl Tetapan pada iPhone anda dan ketik [nama anda]. Seterusnya, pilih i

Cara membuat senarai runcit: Gunakan apl Peringatan untuk iPhone Cara membuat senarai runcit: Gunakan apl Peringatan untuk iPhone Dec 01, 2023 pm 03:37 PM

Dalam iOS 17, Apple menambah ciri senarai kecil yang berguna pada apl Peringatan untuk membantu anda apabila anda keluar membeli-belah untuk barangan runcit. Teruskan membaca untuk mengetahui cara menggunakannya dan memendekkan perjalanan anda ke kedai. Apabila anda membuat senarai menggunakan jenis senarai "Grocery" baharu (bernama "Beli-belah" di luar AS), anda boleh memasukkan pelbagai makanan dan barangan runcit dan menyusunnya secara automatik mengikut kategori. Organisasi ini memudahkan anda mencari barang yang anda perlukan di kedai runcit atau semasa keluar membeli-belah. Jenis kategori yang tersedia dalam makluman termasuk Hasil, Roti & Bijirin, Makanan Sejuk Beku, Snek & Gula-gula, Daging, Tenusu, Telur & Keju, Barangan Bakar, Barangan Bakar, Produk Isi Rumah, Penjagaan Diri & Kesejahteraan dan Wain, Bir & Minuman Berasaskan . Yang berikut dibuat dalam iOS17

Bolehkah kita memasukkan nilai nol dalam senarai Java? Bolehkah kita memasukkan nilai nol dalam senarai Java? Aug 20, 2023 pm 07:01 PM

PenyelesaianYa,Kami boleh memasukkan nilai nol untuk tidak menggunakan kaedah tambah()secara.IncaseofListimplementationtidak menyokongnullthenitwill throwNullPointerException.Syntaxbooleanadd(Ee) Menambahkan elemen yang dinyatakan pada penghujung senarai ini. Jenis parameter E − Jenis masa jalan bagi elemen. Parameter e − elemen untuk dilampirkan pada senarai ini

Apakah perbezaan antara Del dan remove() pada senarai dalam Python? Apakah perbezaan antara Del dan remove() pada senarai dalam Python? Sep 12, 2023 pm 04:25 PM

Sebelum membincangkan perbezaan, mari kita fahami dahulu apakah Del dan Remove() dalam senarai Python. Kata Kunci Del dalam Senarai Python Kata kunci del dalam Python digunakan untuk memadam satu atau lebih elemen daripada Senarai. Kami juga boleh memadam semua elemen, iaitu memadam keseluruhan senarai. Contoh penggunaan kata kunci del untuk memadamkan elemen daripada senarai Python #CreateaListmyList=["Toyota","Benz","Audi","Bentley"]print("List="

Buat berbilang direktori daripada senarai menggunakan Python Buat berbilang direktori daripada senarai menggunakan Python Sep 08, 2023 am 08:21 AM

Python telah menjadi salah satu bahasa pengaturcaraan yang paling popular untuk pelbagai aplikasi kerana kesederhanaan dan serba boleh. Sama ada anda seorang pembangun yang berpengalaman atau baru memulakan perjalanan pengekodan anda, Python menawarkan pelbagai ciri dan pustaka yang menjadikan tugasan rumit boleh diurus. Dalam artikel ini, kami akan meneroka senario praktikal di mana Python boleh membantu kami dengan mengautomasikan proses mencipta berbilang direktori berdasarkan senarai. Dengan memanfaatkan kuasa modul dan teknik terbina dalam Python, kami boleh mengendalikan tugas ini dengan cekap tanpa memerlukan campur tangan manual. Dalam tutorial ini, kami akan menyelidiki masalah mencipta berbilang direktori dan memberikan anda cara berbeza untuk menyelesaikan masalah ini menggunakan Python. Menjelang akhir artikel ini, matlamat kami adalah untuk anda

Tidak dapat memaparkan senarai rangkaian wayarles win7 Tidak dapat memaparkan senarai rangkaian wayarles win7 Dec 22, 2023 am 08:07 AM

Untuk memudahkan kerja mudah alih ramai orang, banyak buku nota dilengkapi dengan fungsi rangkaian tanpa wayar, tetapi sesetengah komputer orang tidak dapat memaparkan senarai WiFi Sekarang saya akan membawa anda bagaimana untuk menangani masalah ini di bawah sistem win7. Senarai rangkaian wayarles tidak boleh dipaparkan dalam win7 1. Klik kanan ikon rangkaian di sudut kanan bawah komputer anda dan pilih "Buka Pusat Rangkaian dan Perkongsian". Selepas membuka, klik kanan tetikus untuk memilih penyesuai rangkaian wayarles dan pilih "Diagnosis" 3. Tunggu untuk diagnosis Jika sistem mendiagnosis masalah, betulkan. 4. Selepas pembaikan selesai, anda boleh melihat senarai WiFi.

See all articles