码迷,mamicode.com
首页 > 编程语言 > 详细

第一天 11-15 python基础

时间:2015-04-12 19:29:34      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:python

######### 使用和导入模块 ####################

什么是模块?

第三方的、别人或自己已经开发好的模块,在不同的程序之间可以加载导入进来,调用里面的功能。

os:和操作系统进行交互的模块

>>> import os
>>> os.system(‘df -Th‘)
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/xvda2     ext4    26G  7.1G   17G  30% /
tmpfs          tmpfs  919M     0  919M   0% /dev/shm
/dev/xvda1     ext4   291M   57M  219M  21% /boot
0  ----执行命令返回的状态,可以存放到一个变量中。

>>> cur_dir=os.system(‘pwd‘)
/home/robin
>>> print cur_dir #存放的是命令返回状态,而不是命令执行的输出结果
0

将命令的执行结果存入变量的方法:

方法一:

>>> import os

>>> os.popen(‘pwd‘)         
<open file ‘pwd‘, mode ‘r‘ at 0x7f311fd6ec00>
>>> a=os.popen(‘pwd‘).read()
>>> a
‘/home/robin\n‘

方法二:

>>> import commands
>>> result=commands.getstatusoutput(‘pwd‘)
>>> result
(0, ‘/home/robin‘) ##同时存放了命令的返回状态和命令执行的输出结果

方法三:

>>> import subprocess


在python中使用tab补全功能

>>> import tab

然后就可以使用tab补全功能了。

补充:

1,os.walk 遍历目录树

eg:

>>> a=os.walk(‘/tmp‘)
>>> a.next()
(‘/tmp‘, [‘.ICE-unix‘, ‘ssh-TFiGeM3099‘, ‘gitosis‘], [‘zabbix_agentd.pid‘, ‘logrotate.pid‘, ‘zabbix_agentd.log‘, ‘php-cgi.sock‘, ‘supervisor.sock‘, ‘mounts.tmp‘])
>>> a.next()
(‘/tmp/.ICE-unix‘, [], [])

2,sys模块

[root@robin robin]# cat ex1.py

#!/usr/bin/env python
# coding:utf-8
import sys
print sys.argv     #打印执行脚本后面跟的参数

print sys.argv[0]  #打印执行脚本后面跟的指定参数

print sys.argv[1]
print sys.argv[2]
[root@robin robin]# python ex1.py  arg1 A 3 4 5
[‘ex1.py‘, ‘arg1‘, ‘A‘, ‘3‘, ‘4‘, ‘5‘]
ex1.py
arg1
A


如何导入模块

import sys

导入sys模块的所有内容,然后通过sys.argv这样的形式调用方法

from sys import argv

指定导入sys模块下的argv方法,然后通过argv这样的形式直接调用

eg:

[root@robin robin]# cat ex1.py
#!/usr/bin/env python
# coding:utf-8
from sys import argv
print argv
print argv[0]
print argv[1]
print argv[2]
[root@robin robin]# python ex1.py  arg1 A 3 4 5
[‘ex1.py‘, ‘arg1‘, ‘A‘, ‘3‘, ‘4‘, ‘5‘]
ex1.py
arg1
A

同理,如果写成 from sys import * ,则调用模块下任何方法都可用argv这样直接写方法名,而不用sys.argv---不建议使用这种方式,因为比如sys模块中有path的方法,而如果程序中也定义了path变量,那么调用的时候则会冲突覆盖。这样调用sys模块中有很多方法是不知道名字的,所以有可能会冲突哈

#给模块起别名

import multiprocessing as multi

######### 用户交互和格式化输出 ########################

######### 流程控制if for循环 #######################

######### while 循环基中断控制 ########################

######### 作业需求 ########################

第一天 11-15 python基础

标签:python

原文地址:http://tenderrain.blog.51cto.com/9202912/1631547

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!