python撤回上一条命令_用python调用系统命令并获得返回

目的:有时候需要一些系统的信息或者执行不是python的文件,这时候需要通过os模块调用它们。

环境:windows 7 Python 3.5.3

情景:

1)我通过python处理生成一个系统可以直接运行的文件,如bat批处理,需要执行它;

2)我对批处理比较熟悉,想要在python执行命令并获得它的返回信息。

这两种情况都需要导入os模块:

第一种情况:

os.open(file, flags[, mode]);

可以打开系统中的文件,参数如下:file -- 要打开的文件

flags -- 该参数可以是以下选项,多个使用 "|" 隔开:os.O_RDONLY: 以只读的方式打开

os.O_WRONLY: 以只写的方式打开

os.O_RDWR : 以读写的方式打开

os.O_NONBLOCK: 打开时不阻塞

os.O_APPEND: 以追加的方式打开

os.O_CREAT: 创建并打开一个新文件

os.O_TRUNC: 打开一个文件并截断它的长度为零(必须有写权限)

os.O_EXCL: 如果指定的文件存在,返回错误

os.O_SHLOCK: 自动获取共享锁

os.O_EXLOCK: 自动获取独立锁

os.O_DIRECT: 消除或减少缓存效果

os.O_FSYNC : 同步写入

os.O_NOFOLLOW: 不追踪软链接

mode -- 类似 chmod() , 这个参数在linux中常用,默认0777

返回值

返回新打开文件的描述符。

这里举两个例子:

第一种情况:

类似open()操作文本文件with os.open('test.txt', os.O_RDWR|os.O_CREAT) as f:

os.write(f, 'This is a test.')

恩,就是这样,用起来感觉比open()麻烦(私链)。

第二种情况:

os.popen(command[, mode[, bufsize]])

我想获得当前的用户名:

在windows 中 echo %username% 可以输出当前的用户名user = os.popen(' echo %username%').read()

恩,就是这样,组合使用感觉还不错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值