#! /usr/python/python-3.5.6/bin/python3
#-*- coding: utf-8 -*-
hadoop-streaming-2.7.3.2.5.3.0-37.jar
hadoop-streaming.jar
yarn jar /usr/hdp/2.5.3.0-37/hadoop-mapreduce/hadoop-streaming.jar -files mapper_python.py,reducer_python.py -Dmapreduce.job.name="Python StreamingJob WordCount" -Dmapred.reduce.tasks=1 -input /tmp/guodandan/input -output /tmp/guodandan/out2 -mapper "python mapper_python.py" -reducer "python reducer_python.py"
#异常
try:
2 a=10/0
3 except Exception as e:
4 print('有异常',e)
5 raise (e)
6 finally:
7 print('over')
#自定义异常
class MyException(Exception):
def __init__(self,info):
print("MyException",info)
try:
raise MyException('自己的异常')
except MyException as e1:
raise e1
#if else(python和java不一样,进位一样,属于同一个if,不满足都不执行)
if 3>5:
print('3>5')
else:
print('5>3')
#逻辑判断中,’’,0,None,False都是为0
a=0
if not a:
print(a)
a=False
if not a:
print(a)
a=None
if not a:
print(a)
a=''
if not a:
print(a)
#if elseif else (and or not)
age=19
if age<19:
print('未成年')
elif age>=19 and age<50:
print('中年人')
else:
print('老年人')
#for
for i in range(1,5):
print (i)
for i in range(1,5):
print (i,end='') ##一整行输出
#无参数
def inputa():
print('666')
inputa()
#位置参数
def inputb(string):
print(string)
inputb('hello world')
#默认参数,可省略
def inputc(string,name='tom'):
print(string,name)
inputc("hello",'Lily')
inputc('hello')
#可变参数,相当于元组
def printd(*args):
print(args)
printd(1,2,3,4)
printd(1)
printd()
#关键字参数,无参则为字典,可扩展内容
def printe(name,age,**kw):
print(name,age,kw)
printe('tom',22)
printe('tom',22,car='lanbojini')
#解释性语言
def myname():
'aaaaaaa'(这就是解释性语言,多行的话就是’’’ ‘’’)
print('hello')
myname()
myname.__doc__
#列表
2 li=[]
3 li=[1,2,3]
4 print (li) #会覆盖第一个
5 li=list('123456')
6 li.append(8)
7 li.append('123')
8 li.extend('123')
9 print(li) #['1', '2', '3', '4', '5', '6', 8, '123', '1', '2', '3']
10 print(li.count('5')) #1
set集合
s={1,2,3,4}
print (s)
li=[1,2,3,2,1]
s=set(li)
print (s) #可迭代强转,将list转成set
s=set('hello world')
print (s)
s=set({'name':'lily','age':18,'name':'tom'})
print (s)#字典转成list,key不重复
#字典
dict={'name':'ketty','age':12,'name':'bob','class':12}
#字典的key不可以重复,否则覆盖,但是value可以重复
print (dict)
#元组
tup=(1,2,3,4)
print (tup)
#类,封装,定义方法
class student1:
pass
class student2(object):
pass
class student3:
def __init__(self,name,age):
self.name=name
self.age=age
def showinfo(self):
print(self.name,self.age)
s3=student3('tom',34)
s3.showinfo()
class student4:
def __init__(self,name):
self.__name=name #name属性不可见
s4=student4('王五')
print(s4.name)
print(s4.__name)
#io流
#文件操作
#! /usr/python/python