例子1:8位数的随机密码

 #!/usr/bin/python
# coding:utf-8 import string
import random pwd = ''
for i in range(8):
char = random.choice(string.printable)
pwd += char print pwd

验证:

 [root@master script]# python ranpass.py
9W3HXhrI

改进版:

 #!/usr/bin/python
# coding:utf-8 import string
import random
import sys def get_pass(num):
pwd = ''
for i in range(num):
char = random.choice(string.printable)
pwd += char
return pwd
if __name__ == '__main__':
print get_pass(int(sys.argv[1])) 备注:

In [3]: string.printable
Out[3]: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'

a和b 的值互换:

 In [18]: a = 10

 In [19]: b = 20

 In [20]: a,b = b,a

 In [21]: a
Out[21]: 20 In [22]: b
Out[22]: 10

程序例子:

创建一个文件,判断文件是否存在,不存在则创建,存在则直接写入数据

关键词:import os ; os.path.isfile('/etc/passwd')  用于判断文件是否存在

os.path.isdir('/etc/') 用于判断目录是否存在

#!/usr/bin/python
# coding:utf-8 import os
contents = []
while True:
fname = raw_input('filename: ')
if not os.path.exists(fname):
break
print '%s already exists,Try again' % fname while True:
data = raw_input('<Enter to quit>: ')
if not data:
break
contents.append(data + '\n') f = open(fname,'w')
f.writelines(contents)
f.close()

通过函数的改进版:

 #!/usr/bin/python
# coding:utf-8 import os
def file_name():
while True:
fname = raw_input('filename: ')
if not os.path.exists(fname):
break
print '%s already exists,Try again' % fname
return fname
def content():
contents = []
while True:
data = raw_input('<Enter to quit>: ')
if not data:
break
contents.append(data + '\n')
return contents
def wfile(fname,contents):
f = open(fname,'w')
f.writelines(contents)
f.close() if __name__ == '__main__':
wfile(file_name(),content())

##############如何查看python的关键字有哪些#################

In [32]: import keyword
In [33]: keyword.kwlist
Out[33]:
['and',
'as',
'assert',
'break',
'class',
'continue',
'def',
'del',
'elif',
'else',
'except',
'exec',
'finally',
'for',
'from',
'global',
'if',
'import',
'in',
'is',
'lambda',
'not',
'or',
'pass',
'print',
'raise',
'return',
'try',
'while',
'with',
'yield']

In [34]: keyword.iskeyword('def')
Out[34]: True

python 基础之第三天的更多相关文章

  1. Python基础语法(三)

    Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...

  2. python基础篇(三)

    PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...

  3. Python基础笔记系列三:list列表

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python中的list列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...

  4. python基础知识(三)

    摘要:主要涉及新数据类型set集合.三元运算.深浅拷贝.函数基础.全局变量与局部变量 一.set --> 无序,不允许重复的集合 不允许重复的列表,   1,创建    s = set() 接收 ...

  5. Python 基础【第三篇】输入和输出

    这里我们创建一个python(pytest)脚本用于学习测试(以后都为这个文件,不多做解释喽),这个文件必须要有执行权限的哈 1.创建pytest并赋予执行权限 [root@fengyuba_serv ...

  6. python基础教程(三)

    序列概览 Python 包含6 种内建的序列,这里重点讨论最常用的两种类型:列表和元组. 列表与元组的主要区别在于,列表可以修改,元组则不能.也就是说如果要根据要求来添加元素,那么列表可以会更好用:而 ...

  7. python基础-------函数(三)

    迭代器 一.迭代的概念 迭代:1 重复2 下一次重复是基于上一次的结果 l=['a','b','c','d'] count=0while count < len(l): print(l[coun ...

  8. Python基础学习篇章三

    一. Python对象类型 1. 对象是Python最基本的概念,一个Python程序可以分解为模块.语句.表达式.和对象.它们的关系如下:(1)程序由模块构成 (2)模块包含语句 (3)语句包含表达 ...

  9. Python基础学习(三)

    了解了Python的基础使用,接下来继续练手廖雪峰老师的教学案例. 一.变量可以指向函数 说明,一个函数可以赋值给一个变量,该变量就会具有该函数的功能,举例: gg = abs print( gg(- ...

  10. python基础实践(三)

    -*-列表是新手可直接使用的最强大的python功能之一,它融合了众多重要的编程概念.-*- # -*- coding:utf-8 -*-# Author:sweeping-monkQuestion_ ...

随机推荐

  1. 【层次查询】Hierarchical Queries之亲兄弟间的排序(ORDER SIBLINGS BY)

    http://blog.itpub.net/519536/viewspace-624176 有关层次查询之前的文章参考如下. [层次查询]Hierarchical Queries之"树的遍历 ...

  2. UVA - 1416 Warfare And Logistics (最短路)

    Description The army of United Nations launched a new wave of air strikes on terroristforces. The ob ...

  3. 【Caffe代码解析】compute_image_mean

    功能: 计算训练数据库的平均图像. 由于平均归一化训练图像会对结果有提升,所以Caffe里面,提供了一个可选项. 用法: compute_image_mean [FLAGS] INPUT_DB [OU ...

  4. HDU 2648(搜索题,哈希表)

    #include<iostream> #include<map> #include<string> #include<cstring> #include ...

  5. Path SumI、II——给出一个数,从根到子的和等于它

    I.Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up a ...

  6. javacript中apply和call的区别

    apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性.   接受的参数是一个字符串. call:和apply的意思一样,只不过是参数列表不一样. 接收的参数是一个数组. 例如: <s ...

  7. 移植alsa-lib遇到的问题

    移植alsa-lib遇到的问题 linux audio    alsa lib    VERSIONED_SYMBOLS 这两天移植alsa lib时遇到了一个问题,被困住了好久. 做个记录,以后再被 ...

  8. 读《疯狂Java讲义》笔记总结三

    1.初始化块 实际上初始化块是一个假象,使用javac命令编译Java类后,该Java类中的初始化块会消失--初始化块中代码会被 "还原" 到每一个构造器中,且位于构造器全部代码的 ...

  9. 抽象类的子类能够new

    纠结了半天,我以为继承了Activity后不能new这里被那个onCreate方法迷惑了以为会出现故障一直没直接创建对象类使用 后来试了试才知道 activity似乎是一个抽象类吧. 你要用他的方法, ...

  10. maven命令学习-发布上传jar包-deploy

    Maven学习六之利用mvn deploy命令上传包 转http://blog.csdn.net/woshixuye/article/details/8133050 mvn:deploy在整合或者发布 ...