一、使用os模块

In [1]: import os #导入os模块

In [2]: os.system('ls')

anaconda-ks.cfg

epel-release-7-5.noarch.rpm

ipython-4.1.2ipython-4.1.2.tar.gz

pip-8.1.2pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gzOut[2]: 0

In [3]: a=os.system('ls') ##得到的是执行的命令的返回值,并不是执行结果anaconda-ks.cfg

epel-release-7-5.noarch.rpm

ipython-4.1.2ipython-4.1.2.tar.gz

pip-8.1.2pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gzIn [4]: a #执行ls命令的返回值,成功,为0Out[4]: 0

In [5]: b=os.popen('ls').readlines() #将得到的结果直接赋值给b列表In [6]: b #ls执行结果输出到内存,再全部读取赋值给b列表Out[6]:

['anaconda-ks.cfg\n','epel-release-7-5.noarch.rpm\n','ipython-4.1.2\n','ipython-4.1.2.tar.gz\n','pip-8.1.2\n','pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz\n']

>>>os模块中常见方法(Linux命令)

os.remove():删除文件

os.rename():重命名文件

os.walk():生成目录树下的所有文件名

os.chdir():改变目录

os.mkdir/makedirs:创建目录/多层目录

os.rmdir/removedirs:删除目录/多层目录

os.listdir():列出指定目录的文件

os.getcwd():取得当前工作目录

os.chmod():改变目录权限

os.path.basename():去掉目录路径,返回文件名

os.path.dirname():去掉文件名,返回目录路径

os.path.join():将分离的各部分组合成一个路径名

os.path.getsize():返回文件大小

os.path.exists():是否存在

os.path.isabs():是否为绝对路径

os.path.isdir():是否为目录

os.path.isfile():是否为文件

二、使用commands模块

注意:该模块用于Python2,到了Python3不推荐使用

In [7]: import commands #导入commands模块In [8]: c=commands.getoutput('ls') #ls命令执行结果,字符串形式赋值给c变量In [9]: c

Out[9]: 'anaconda-ks.cfg\nepel-release-7-5.noarch.rpm\nipython-4.1.2\nipython-4.1.2.tar.gz\npip-8.1.2\npip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz'In [10]: d=c.split('\n') #对变量c,指定分隔符\n分隔,列表形式赋值给dIn [11]: d

Out[11]:

['anaconda-ks.cfg','epel-release-7-5.noarch.rpm','ipython-4.1.2','ipython-4.1.2.tar.gz','pip-8.1.2','pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz']

三、read、readline、readlines区别

1、read()全部取出,放到字符串里

2、readline()方法会将内存空间里的内容一次性只读一行,放到一个字符串里

3、readlines()方法会将内存空间里的内容一次性全部取出来,放到一个列表里

四、Python脚本实践

1、编写一个python脚本实现输出linux里的所有的用户的信息,格式如下:

username is root uid is 0

username is xiaojin uid is 200

username is bin uid is 10

方式一:

#!/usr/bin/python

importcommands

user_str=commands.getoutput('cat /etc/passwd')

user_list=user_str.splitlines()  #列表形式分隔文件内容(默认按行分隔)

for i inuser_list:

u_info=i.split(':')print "username is",u_info[0],"uid is",u_info[2]

方式二:

#!/usr/bin/python

importos

userlines=os.popen("cat /etc/passwd").readlines()for i inuserlines:

user_info=i.split(":")print "username is",user_info[0],"\tuid is",user_info[2]

2、数值脚本

1.提醒用户输入内容范围是0-100

2.判断用户输入的内容,如果不是数字给予提醒

3.输出用户输入的内容

#!/usr/bin/pythonu_grade=raw_input("please input your grade:")if u_grade.isdigit():  #isdigit()将字符串转换成数的方法

if 0<=int(u_grade)<=100:print "your grade is",u_gradeelse:print "please input the range of number 0-100"

else:print "It's not a valid number,try again"

python中的 怎么用_Python中如何调用Linux命令相关推荐

  1. python中调用linux命令报错cat: -: Bad file descriptor

    在python脚本中国呢调用linux命令,nohup提交报错 cat: -: Bad file descriptor 但是,结果能正常输出, 没找到原因---

  2. python操作linux命令行_python调用调用Linux命令

    如何调用Linux命令 下面代码演示了调用一个shell命令, 其中,命令的输出会存储到result变量中, 而命令的返回值,则存储到exitcode中,由此可见,调用shell命令还是很方便的: i ...

  3. java如何调用linux命令_java程序中如何调用linux命令

    java程序中如何调用linux命令 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服 ...

  4. 安卓程序中调用 linux 命令

    博客: 安卓之家 微博: 追风917 CSDN: 蒋朋的家 简书: 追风917 在研究串口 jni 开发的时候,遇到了这样一段代码: Process su;su = Runtime.getRuntim ...

  5. shell 调用matlab,在matlab中调用linux命令 以及后台运行matlab --zz

    由于matlab和linux命令各有所长:matlab比较擅长数值计算,linux命令比较擅长文件操作(matlab也基本上能够完成,但会稍微麻烦一点).所以在很多时候会需要将二者结合起来. 可能更多 ...

  6. python中执行linux命令(调用linux命令)_Python调用Linux bash命令

    import subprocess as sup  # 以下注释很多(为了自己以后不忘), 如果只是想在python中执行Linux命令, 看前5行就够了 # 3.5版本之后官方推荐使用sup.run ...

  7. python中函数的作用域_Python中的函数作用域

    在python中,一个函数就是一个作用域 name = 'xiaoyafei' def change_name(): name = '肖亚飞' print('在change_name里的name:', ...

  8. python列表怎么写文件_python中以字典为元素的列表怎么写入文本文件

    python如何将列表中的元素添加进字典纵然被命运的铁蹄狠狠践踏,也顽强地长出自己的根芽. 录入自己和另一个人的名字的汉语拼音简写,然后依据标识符中字母的数值两个人,一颗心,依偎的不是爱情而是那小温暖 ...

  9. python中关键字参数含义_python中接受任意关键字的参数

    1.*args args是非关键字参数,可以理解为形参,为了方便记忆我理解它是arguments的缩写. 2.*kwargs kwargs是键值对参数,为了方便记忆我理解它是key word argu ...

最新文章

  1. PHP CURL 多线程 GET/POST 类
  2. java常见排序算法有哪些_Java中常用的6种排序算法详细分解
  3. modprobe:用于向内核中加载模块或者从内核中移除模块。
  4. 带用户名和密码的GitHub链接
  5. LiveCDLiveUSB制作
  6. ajax提交与上传文件同步
  7. 【男人必看十大经典】[经典合集][DVD-Rmvb/7.70GB] 【原音中文字幕】已测
  8. HP 5100打印机在Windows 8中的使用
  9. 群晖套件中心没有docker_群晖中通过docker安装huginn
  10. 电梯远程监控系统方案
  11. Import “github.com/gogo/protobuf/gogoproto/gogo.proto“ was not found or had errors.
  12. Unity的C#编程教程_17_Variables 挑战 3 折扣计算器
  13. ms12-020复现-xp蓝屏
  14. 论文笔记 Acquiring Common Sense Spatial Knowledge through Implicit Spatial Templates (AAAI2018)
  15. java 文件 模板 替换_JAVA 处理Word模板文件,替换其中的占位符
  16. 4. ESP32S3 使用USB 加载SD_SDIO 当作 U盘使用
  17. 实现一个简单的栅格系统
  18. php查询mysql充值_PHP + MYSQL 实现 用户注册/登录/充值 功能
  19. conda env create -f environment.yml报错ResolvePackageNotFound和Found conflicts的解决方案【已解决】
  20. STM32F103C8T6读取气压计MS5611,I2C读取模式

热门文章

  1. Matlab中bwlabel函数的使用
  2. 【OpenCV 4开发详解】分割图像——分水岭法
  3. Java如何执行操作系统的CMD命令行
  4. centos7 firewalld日常使用
  5. 架构师升级之路,你掌握了吗?
  6. Faiss教程:索引(2)
  7. kvm安装及虚拟机创建
  8. java模拟验证码生成
  9. jetty作为内嵌服务器自启动
  10. 如何处理几十万条并发数据?