python 基础之第三天
例子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 基础之第三天的更多相关文章
- Python基础语法(三)
Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...
- python基础篇(三)
PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...
- Python基础笔记系列三:list列表
本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! python中的list列表是一种序列型数据类型,一有序数据集合用逗号间隔 ...
- python基础知识(三)
摘要:主要涉及新数据类型set集合.三元运算.深浅拷贝.函数基础.全局变量与局部变量 一.set --> 无序,不允许重复的集合 不允许重复的列表, 1,创建 s = set() 接收 ...
- Python 基础【第三篇】输入和输出
这里我们创建一个python(pytest)脚本用于学习测试(以后都为这个文件,不多做解释喽),这个文件必须要有执行权限的哈 1.创建pytest并赋予执行权限 [root@fengyuba_serv ...
- python基础教程(三)
序列概览 Python 包含6 种内建的序列,这里重点讨论最常用的两种类型:列表和元组. 列表与元组的主要区别在于,列表可以修改,元组则不能.也就是说如果要根据要求来添加元素,那么列表可以会更好用:而 ...
- python基础-------函数(三)
迭代器 一.迭代的概念 迭代:1 重复2 下一次重复是基于上一次的结果 l=['a','b','c','d'] count=0while count < len(l): print(l[coun ...
- Python基础学习篇章三
一. Python对象类型 1. 对象是Python最基本的概念,一个Python程序可以分解为模块.语句.表达式.和对象.它们的关系如下:(1)程序由模块构成 (2)模块包含语句 (3)语句包含表达 ...
- Python基础学习(三)
了解了Python的基础使用,接下来继续练手廖雪峰老师的教学案例. 一.变量可以指向函数 说明,一个函数可以赋值给一个变量,该变量就会具有该函数的功能,举例: gg = abs print( gg(- ...
- python基础实践(三)
-*-列表是新手可直接使用的最强大的python功能之一,它融合了众多重要的编程概念.-*- # -*- coding:utf-8 -*-# Author:sweeping-monkQuestion_ ...
随机推荐
- WindowManager.LayoutParams 详解
WindowManager.LayoutParams 是 WindowManager 接口的嵌套类:继承于 ViewGroup.LayoutParams .它的内容十分丰富.其实WindowManag ...
- SpringMVC同时支持多视图(JSP,Velocity,Freemarker等)的一种思路实现
在基于SpringMVC的项目中有时需要同时使用多种视图格式,如jsp,velocity及freemarker等,通过不同的请求路径配置规则,映射到不同的视图文件.下面我提供一种思路,通过视图模板文件 ...
- phonegap工程搭建基础(一)
官网:http://cordova.apache.org 一.环境配置 1. 安装Cordova on OS X and Linux: $ sudo npm install -g cord ...
- Linux mm相关的问题
[S]为什么High MEM是从896M開始的? As the running kernel needs these functions, a region of at least VMALLOC_R ...
- C++11 并发指南系列(转)
本系列文章主要介绍 C++11 并发编程,计划分为 9 章介绍 C++11 的并发和多线程编程,分别如下: C++11 并发指南一(C++11 多线程初探)(本章计划 1-2 篇,已完成 1 篇) C ...
- golang map to struct
http://stackoverflow.com/questions/26744873/converting-map-to-struct func SetField(obj interface{}, ...
- 解决MySQL出现大量unauthenticated user的问题
近期OJ及相关的站点打开异常的慢,简直崩溃,一直没找着原因. 进入数据库server.进到mysql里,用show processlist命令查看一下,发现有非常多的unauthenticated u ...
- ubuntu环境准备
一. 桌面方面看起来比较不爽,12的版本用起更不习惯,决定改成命令行登陆 a. vi /ect/default/grub 文件 b. 修改成第二个红框的情况 c. 执行update-grub命令 d ...
- 2014年8月25日,收藏家和杀手——面向对象的C++和C(一)
近期事情特别多,睡眠也都非常晚,有点精神和身体混乱的感觉,所以想写写技术分析文章.让两者的我都调整一下.这篇技术分析文章是一直想写的,当前仅仅是开篇,有感觉的时候就写写,属于拼凑而成,兴许的篇章没有时 ...
- ubuntu将快捷方式复制到桌面
/usr/share/applications目录下,如果我们要创建桌面快捷方式,只需要右键-复制-桌面 就Ok