导航:首页 > 程序命令 > python调用系统命令行

python调用系统命令行

发布时间:2022-09-12 01:31:44

python中,执行命令的方法有哪些

1. os.system()
这个方法直接调用标准C的system()函数,仅仅在一个子终端运行系统命令,而不能获取执行返回的信息。
2. os.popen()
这个方法执行命令并返回执行后的信息对象,是通过一个管道文件将结果返回。
3. commands模块
注意1:在类unix的系统下使用此方法返回的返回值(status)与脚本或命令执行之后的返回值不等,这是因为调用了os.wait()的缘故,具体原因就得去了解下系统wait()的实现了。需要正确的返回值(status),只需要对返回值进行右移8位操作就可以了。
注意2:当执行命令的参数或者返回中包含了中文文字,那么建议使用subprocess。
4. subprocess模块
该模块是一个功能强大的子进程管理模块,是替换os.system, os.spawn*等方法的一个模块。

Ⅱ Python怎么调用系统命令

每种语言都有自己的优势,互相结合起来各取所长程序执行起来效率更高或者说哪种实现方式较简单就用哪个,nodejs是利用子进程来调用系统命令或者文件,文档见nodejs.org/api/child_process.html,NodeJS子进程提供了与系统交互的重要接口,其主要API有: 标准输入、标准输出及标准错误输出的接口。 NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有: 标准输入、标准输出及标准错误输出的接口 child.stdin 获取标准输入 child.stdout 获取标准输出 child.stderr 获取标准错误输出 获取子进程的PID:child.pid 提供生成子进程的方法:child_process.spawn(cmd, args=[], [options]) 提供直接执行系统命令的方法:child_process.exec(cmd, [options], callback) 提供调用脚本文件的方法:child_process.execFile(file, [args], [options], [callback]) 提供杀死进程的方法:child.kill(signal='SIGTERM') 用实例来感受一下,很有意思的,呵呵~~ 1、利用子进程调用系统命令(获取系统内存使用情况) 新建nodejs文件,名为cmd_spawn.js,代码如下: 复制代码 代码如下: var spawn = require('child_process').spawn; free = spawn('free', ['-m']); // 捕获标准输出并将其打印到控制台 free.stdout.on('data', function (data) { console.log('standard output:\n' + data); }); // 捕获标准错误输出并将其打印到控制台 free.stderr.on('data', function (data) { console.log('standard error output:\n' + data); }); // 注册子进程关闭事件 free.on('exit', function (code, signal) { console.log('child process eixt ,exit:' + code); });

Ⅲ Python中调用命令行的几种方法

1.直接用python f:/python/xxx.py这样来运行
2.用开发工具,如楼上说的eclipse+pydev,还有editplus,VIM这些都可以设置的。

Ⅳ python开发命令行脚本

工作中会经常需要写一些命令行脚本,如果还是用if,else判断用户输入实在是太丑陋了。这里介绍几个python里的命令行脚本库,可以帮助我们快速开发好用的命令行脚本。

https://docs.python.org/3/library/cmd.html

使用方式是继承Cmd,实现自己的子类。

参数comletekey是自动补全操作,默认值是Tab, 如果不为None 且readline可用的话,命令会自动完成。
这里的readline指的是python实现的 GNU readline 接口(标准python库里没有,Windows系统不支持)。

参数stdin,stdout是输入输出流,默认是sys.stdin,sys.stout。

cmd提供了一个简单的框架,但是功能比较简单,python还有其他的很多第三方库可以用来写命令行程序。

https://www.cnblogs.com/xueweihan/p/12293402.html 这篇文章对比了各个库的功能,贴在这里:

看起来fire是最简单的,来试一下。

fire 则是用一种面向广义对象的方式来玩转命令行,这种对象可以是类、函数、字典、列表等,它更加灵活,也更加简单。你都不需要定义参数类型,fire 会根据输入和参数默认值来自动判断,这无疑进一步简化了实现过程。

以下示例为 fire 实现的 计算器程序:

从上述示例可以看出,fire 提供的方式无疑是最简单、并且最 Pythonic 的了。我们只需关注业务逻辑,而命令行参数的定义则和函数参数的定义融为了一体。

不过,有利自然也有弊,比如 nums 并没有说是什么类型,也就意味着输入字符串'abc'也是合法的,这就意味着一个严格的命令行程序必须在自己的业务逻辑中来对期望的类型进行约束。

Ⅳ python 怎么调用命令实现

在Python/wxPython环境下,执行外部命令或者说在Python程序中启动另一个程序的方法

1、os.system(command)

os.system()函数用来运行shell命令。此命令可以方便的调用或执行其他脚本和命令

#打开指定的文件 >>>os.system('notepad *.txt')

2、wx.Execute(command, syn=wx.EXEC_ASYNC, callback=None)

若置syn为wx.EXEC_ASYNC则wx.Excute函数立即返回,若syn=wx.EXEC_SYNC则等待调用的程序结束后再返回。

callback是一个wx.Process变量,如果callback不为None且syn=wx.EXEC_ASYNC,则程序结束后将调用wx.Process.OnTerminate()函数。

os.system()和wx.Execute()都利用系统的shell,执行时会出现shell窗口。如在Windows下会弹出控制台窗口,不美观。下面的两种方法则没有这个缺点。

3、import subprocess

subprocess.Popen(args, bufsize=0, executable=None, stdin=None,
stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False,
cwd=None, env=None, universal_newlines=False, startupinfo=None,
creationflags=0)

subprocess.call ([cmd, arg1, arg2],shell=True)

Ⅵ 如何用python调用系统命令

每种语言都有自己的优势,互相结合起来各取所长程序执行起来效率更高或者说哪种实现方式较简单就用哪个,nodejs是利用子进程来调用系统命令或者文件,文档见nodejs.org/api/child_process.html,NodeJS子进程提供了与系统交互的重要接口,其主要API有: 标准输入、标准输出及标准错误输出的接口。 NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有: 标准输入、标准输出及标准错误输出的接口 child.stdin 获取标准输入 child.stdout 获取标准输出 child.stderr 获取标准错误输出 获取子进程的PID:child.pid 提供生成子进程的方法:child_process.spawn(cmd, args=[], [options]) 提供直接执行系统命令的方法:child_process.exec(cmd, [options], callback) 提供调用脚本文件的方法:child_process.execFile(file, [args], [options], [callback]) 提供杀死进程的方法:child.kill(signal='SIGTERM') 用实例来感受一下,很有意思的,呵呵~~ 1、利用子进程调用系统命令(获取系统内存使用情况) 新建nodejs文件,名为cmd_spawn.js,代码如下: 复制代码 代码如下: var spawn = require('child_process').spawn; free = spawn('free', ['-m']); // 捕获标准输出并将其打印到控制台 free.stdout.on('data', function (data) { console.log('standard output:\n' + data); }); // 捕获标准错误输出并将其打印到控制台 free.stderr.on('data', function (data) { console.log('standard error output:\n' + data); }); // 注册子进程关闭事件 free.on('exit', function (code, signal) { console.log('child process eixt ,exit:' + code); });

Ⅶ python等脚本语言如何实现系统调用

开始菜单-->运行-->输入cmd 打开命令行
输入python -V,会显示你python的版本,如果有显示,就可以使用了。你写了一个脚本script.py
那就用命令行在那个文件夹下运行python script.py 就可以了

如果输入python -V提示说找不到或者错误,那么就要添加环境变量。右键点击我的电脑-->高级-->环境变量-->path ,那个栏里面添加分号,然后是你python的安装路径,如果按在C:\python27,那就把这个路径添进去,然后再安装上面说的运行命令行。

Ⅷ 怎么在命令行窗口运行python -V

在命令行运行python -V的步骤如下:
1、在win10系统上使用组合键WIN + R ,启动运行窗口,在运行窗口中输入cmd ,点击确定按钮
2、启动一个cmd命令行窗口
3、在cmd命令行窗口中输入python -V,有下图所示的回显,说明python3的环境已经安装到电脑上了,可以运行python脚本。
python -V的功能如下:
python -V (大写)与 python --version 功能相同,是将 python 版本打印并退出 python。

Ⅸ python执行这样一条windows系统命令怎么不行

这种情况是使用的方法不正确导致的。
Python中执行系统命令常见的几种方法如下:
1、os.system
例如:
>>> import os >>> os.system('ls') chk_err_log.py CmdTool.log install_log.txt install_zabbix.sh manage_deploy.sh MegaSAS.log
2、os.popen
例如:
>>> import os >>>tmp = os.popen('ls *.sh').readlines() >>>tmp ['install_zabbix.sh\n', 'manage_deploy.sh\n', 'mysql_setup.sh\n', 'python_manage_deploy.sh\n', 'setup.sh\n']
3、使用模块subprocess
使用方法:
>>> import subprocess >>> subprocess.call (["cmd", "arg1", "arg2"],shell=True)
import subprocess p = subprocess.Popen('ls *.sh', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) print p.stdout.readlines() for line in p.stdout.readlines(): print line, retval = p.wait()
4、 使用模块commands模块
使用方法:
>>> import commands >>> commands.getoutput('ls *.sh') 'install_zabbix.sh\nmanage_deploy.sh\nmysql_setup.sh\npython_manage_deploy.sh\nsetup.sh' >>> commands.getstatusoutput('ls *.sh') (0, 'install_zabbix.sh\nmanage_deploy.sh\nmysql_setup.sh\npython_manage_deploy.sh\nsetup.sh')
注意:当执行命令的参数或者返回中包含了中文文字,那么建议使用subprocess,如果使用os.popen则会出现错误。

阅读全文

与python调用系统命令行相关的资料

热点内容
方舟生存进化服务器如何改名字 浏览:892
央行数字货币app怎么注册 浏览:431
51单片机显示时间 浏览:769
我的世界网易版怎么压缩地图 浏览:682
qq小程序云服务器和 浏览:739
方舟服务器怎么玩才好玩 浏览:557
单片机的部件 浏览:621
编译原理遍的过程 浏览:252
python读取json字符串 浏览:62
ubuntu1404安装php 浏览:634
lua能编译吗 浏览:118
思仙怎么看服务器 浏览:660
php微信图片防盗链 浏览:800
安卓1怎么读音 浏览:297
农业app怎么开通快捷支付 浏览:912
pythonredisdict 浏览:389
如何攻击别人网赌服务器 浏览:882
隐私与应用加密的图案密码 浏览:38
陈情令王一博解压 浏览:39
c编译器使用说明 浏览:708