导航:首页 > 程序命令 > python调用clinux命令

python调用clinux命令

发布时间:2023-06-02 10:09:41

⑴ 如何使用python3.4与linux 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])
输出结果如下:

0 你好
1 哈喽
0 你好
1 哈喽

⑵ 怎么在linux里运行一个py文件

先将终端所在路径切换到python脚本文件的目录下,

然后给脚本文件运行权限,一般755就OK。

chmod 755 ./*.py

然后执行。

在linux命令行模式答中早中运行python,进入python交互式环境,写程序后直接输出结果。清雀

⑶ python和linux到底有关系

python和linux两者间没什么关系,python是一门程序设计语言,linux是一个操作系统,向上支持应用软件的运行,向下控制硬件,是软件和硬件的过渡层。Python语言可以在Linux系统下学习和开发。

比如,如果是想用Python开发网站(现今流行的、成熟的Python Web框架)就需要使用到Linux平台;如果想使用Python爬虫爬取数据,在Linux系统上也要更方便一些;还有就是想学习网络安全渗透测试,在Linux上编写Python自动化测试脚本也很有必要。

(3)python调用clinux命令扩展阅读:

可以通过python对linux进行操作,利用python操纵linux的命令为:

1、import os

#返回操作系统类型,值为posix,是linux操作系统,值为nt,是window操作系统

2、print os.name

#返回操作系统的详细信息

3、print os.uname()

#系统的环境变量

4、print os.environ

print os.environ.get('PATH')

#判断是否为绝对路径(不会判断文件或者目录是否存在)

5、print os.path.isabs('/tmp/westos')

print os.path.isabs('hello')

#生成绝对路径

⑷ 如何用python获取linux系统的网卡信息

1.下载源代码
2. 安装,过程如下。

$ tar –jxvf Python-2.5.2.tar.bz2
$ cd Python-2.5.2
$ ./configure
$ make
$ make install

3. 测试。
在命令行下输入python,出现python解释器即表示已经正确安装。
在suse10或rhel5(es5)下系统默认已经装了python但版本是2.4.x;本次安装后在shell中输入#python

会发现显示结果:
# python

Python 2.4.3 (#1, Dec 11 2006, 11:38:52)

[GCC 4.1.1 20061130 (Red Hat 4.1.1-43)] on linux2

Type “help”, “right”, “credits” or “license” for more information.

>>>

⑸ 我想用python写个web界面简单执行远程linux命令 web界面要能自由填写执行shell命令和脚本

首先python基础你得会:
最简单套路:web用flask,linux交互用subprocessor模块
说白了就三点:python基础、flask框架、subprocessor模块

⑹ python怎么实现web页面敲入linux命令,传入到另一个服务器执行

这个不难,我说下原理,具体你自己实现。浏览器向web服务器提交要执行的linux命令,服务端调用os.system等系统交互的方法,去执行所提交的命令,然后获取执行后标准输出、标准错误,将这些标准输出、错误以response返回给浏览器。

⑺ python 执行linux命令后怎样输入密码

一、使用工具:python、linux
二、方法步骤:有三种方法
1、 最简单的方法,但是不安全
raw_input() :
pwd = raw_input('password: ')
print pwd
# password: aaa
# aaa
2、很安全,但是看不到输入的位数,会让人觉得有点不习惯,不知道的还以为没有在输入
getpass.getpass() :
import getpass
pwd = getpass.getpass('password: ')
print pwd
# password:
# aaaa
3、
msvcrt.getch() :
代码如下:
import msvcrt, sys
def pwd_input():
chars = []
while True:
newChar = msvcrt.getch()
if newChar in '\r\n':
# 如果是换行,则输入结束
print ''
break
elif newChar == '\b':
# 如果是退格,则删除末尾一位
if chars:
del chars[-1]
sys.stdout.write('\b')
# 删除一个星号,但是不知道为什么不能执行...
else:
chars.append(newChar)
sys.stdout.write('*')
# 显示为星号
print ''.join(chars)
pwd = pwd_input()
print pwd
# ******
# aaaaaa
三、注意事项:第三种方法解决了第二种方法不能显示输入位数的问题,但是如果按退格键(backspace)的话,虽然实际的是退格了,
但控制台却没有显示相应的退格,比如,当前输入是:abcd,显示为:****,然后现在打一个退格键,实际
输入为:abc,而显示仍为:****。不知道为什么 sys.stdout.write('\b') 这行没有执行,估计是和使用msvcrt.getch()有关系。感兴趣的朋友可以进一步研究一下。

⑻ python执行linux命令,怎样自动输入 yes/no

这种交互猜棚销式命令可以使用pexpect模块实现

>>>importpexpect
>>>child=和散pexpect.spawn('ssh127.0.0.1')
>>>child.expect('continue')
0
>>>child.sendline('yes')
4
>>>printchild.before
Theauthenticityofhost'127.0.0.1(127.0.0.1)'can'tbeestablished.
ECDSAkeyfingerprintisd1:61:c6:ae:ab:bc:22:3e:52:57:49:d5:05:6f:4b:90.
Are穗游yousureyouwantto

传送门

http://990487026.blog.51cto.com/10133282/1715953

阅读全文

与python调用clinux命令相关的资料

热点内容
北京一卡通app换了手机怎么弄 浏览:154
有程序员小说 浏览:687
点开就能看的网址 浏览:450
单片机控制和plc控制系统设计 浏览:29
她通常去电影院英文翻译 浏览:274
阿里个人云服务器叫什么名字 浏览:298
萱萱日记 浏览:707
芯片app有什么用 浏览:204
DaDa兔 浏览:969
卡罗拉烟气压缩机 浏览:470
丹麦大尺度电影推荐 浏览:784
山东统一政务服务门户app叫什么 浏览:696
九亿app和电视版有什么区别 浏览:82
韩国推理片有哪些日本 浏览:887
无法连接到服务器是为什么呀 浏览:845
百度网盘自动回复源码 浏览:792
只坐A不结婚电影 浏览:122
免费看片的在线网站 浏览:581
安卓如何设置枪声小脚步声大 浏览:760
如何将u盘升级为加密盘 浏览:784