问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python3.4.2shell什么用

发布网友 发布时间:2022-04-25 14:17

我来回答

1个回答

热心网友 时间:2022-04-18 05:50

使用python来运维linux是非常简单轻松的一件事情,但是仅仅是一些交互式比较强的,比shell更灵活的一些工作时,可以使用python,如果是一些简单的查找,排序,等什么的,可以还用shell来完成,下面来看下在python3.4中,如何与Linux交互的。
在python里面可以操作linux的命令有
1,os.system("cmd")
2,os.open("cmd")
3,spawn*
4,subprocess
在最新的python里,推荐使用subprocess来与shell通信,它会生成一个子进程来连接输出,输入,错误等shell下3中标准的输入输出流,并返回执行结果的状态码0和1,来判断本次执行命令的成功与失败。
下面来看一个小例子,首先,确保你的linux环境支持python3.4,如果不支持,你可以参考散仙的上篇文章来安装python3.4
首先,在linux,执行python命令找到最新的python3.4的路径,然后再py文件里声明头部路径,如果不知道python的具体安装路径,可以使用which python来查找路径
[root@master ~]# py
pydoc pydoc3.4 python2 python3 python3.4-config python3.4m-config pyvenv
pydoc3 python python2.6 python3.4 python3.4m python3-config pyvenv-3.4
[root@master ~]# which python3.4
/usr/local/python3.4/bin/python3.4
[root@master ~]#

写完脚本之后,先给脚本赋值权限,再执行:
[root@master rtt]# chmod +x b.py
[root@master rtt]# cat b.py
#!/usr/local/python3.4/bin/python3.4

import subprocess as t

v=t.call("ls")

print ("返回值: ",v)

[root@master rtt]# b.py
a.py b.py b.txt
返回值: 0
[root@master rtt]#

看下面的例子,注意python的shell执行,返回的是一个字符串,如果我们想逐行解析,需要使用如下方法:
[root@master rtt]# cat b.txt
id name
1 a

2 战三

3 b
[root@master rtt]# cat a.py
#!/usr/local/python3.4/bin/python3.4

import os
import subprocess as t

#var=t.getoutput("df -h")

#v=t.call("ls")

#var=t.getoutput("cat b.txt | grep a ")
var=t.getoutput("df -h | cat -n ")

for line in var.split("\n"):
print("这一行:" +line)

#print(var)

[root@master rtt]# a.py
这一行: 1 Filesystem Size Used Avail Use% Mounted on
这一行: 2 /dev/sda2 9.7G 2.9G 6.3G 32% /
这一行: 3 tmpfs 495M 0 495M 0% /dev/shm
这一行: 4 /dev/sda1 194M 28M 157M 15% /boot
这一行: 5 /dev/sda3 9.9G 948M 8.5G 10% /home
[root@master rtt]#

最后看下python的两种,生成行号的方式:
tt="你好\n哈喽"

for i,it in enumerate(tt.split("\n")):
print(i,it)

for line in range(len(tt.split("\n"))):
print(line," ",tt.split("\n")[line])
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
谁告诉我一下,韩语中,“遵命”怎么说 想开个甜品店,不知道哪里可以学习呢 如何取消微信新号绑定的手机号? 翼支付-翼建钟情活动内容是什么? 怎么参加翼支付“翼建钟情”活动? 翼支付--翼建钟情立减10元-建行这次活动有具体名额限制吗? 西凤酒是哪里的 货车总重量不超过二十吨就不算超载吗? 自卸货车上装有二十多吨货已经有四五天了对货车能伤害哪个部位? 如何回复别人的"忙里偷闲"? 南京有能拿艺术品鉴定师评估师中级证书的培训班吗? python shell到底是干什么的啊…… 请问南京的资格证书是去哪里考试 python shell怎么用 我在南京化妆工作室学的化妆?南京哪里能考职业资格证书吗?外地能考吗? python shell 有哪些 南京技能职业资格证书怎么获取 Linux下编写脚本Shell和Python的区别? 南京电工证怎么报考 电工职业资格证怎么考 在哪报 python中的shell提示符是什么意思 python程序和python shell的区别 python的shell是什么软件 shell和python区别 python和shell有什么区别? 什么是python shell 命令 python shell是什么东西 华为手机能登两个吗 哪能买到绿化草坪我要买绿化草坪多少钱一平方米 南京市六合区人工草坪哪里有厂家卖 安宁渠附近有卖种植草皮的吗? 南京地区如何考健身教练资格证书?在哪边报考? 大家考职业资格证 都去哪儿报名的? 我在南京 python的shell有什么用 在南京想去考电工证,去哪报名? python中的python shell和untitled有什么不同 农业生产中常用的肥料种类有哪些 为什么会python还需要shell,shell编程的好处 南京在哪里考物流师?报考需要什么条件? 农作物生长需要的肥料一般可分为哪两种? 在南京适合女生考的职业资格证书有哪些值得推荐的,我在白下区 怎么在python脚本中实现shell命令 农作物肥料包含哪些肥料 国家职业资格鉴定 南京高级技师职业资格证可以申请人才居住证吗 化肥的种类有哪些? 在我的南京申请职业资格证补贴说不符合怎么办? 肥料的种类都有哪些 南京 职业资格证书 在那补办 求 具体地点 联系方式 证件 已挂失 农作物高产施肥共有几种? 南京社会工作者职业资格证什么时候可以拿?