几个简单的python脚本编写

编写固定输出的斐波那契数列

# vim fibs.py
#!/usr/bin/python
fibs = [0, 1]
for i in range(8):
fibs.append(fibs[-1] + fibs[-2])
print fibs
# ./fibs.py
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

可执行的交互式斐波那契数列

# vim fibs2.py
#!/usr/bin/python
fibs = [0, 1]
nums = int(raw_input('Input a number: '))
for i in range(nums - 2):
 fibs.append(fibs[-1] + fibs[-2])
print fibs
# ./fibs2.py
Input a number: 5
[0, 1, 1, 2, 3]

拷贝脚本:

# vim cp.py
#!/usr/bin/python
dstfile = '/root/ls'
srcfile = '/bin/ls'
oldf = open(srcfile)             #以读方式打开老文件
newf = open(dstfile, 'w')       #以写方式打开新文件
while True:                       #因为不确定要循环多少次,设置条件永远为真
 data = oldf.read(4096)       #每次只读入4096字节
 if len(data) == 0:           #如果文件已经全部读取完毕则中断循环
  break
 newf.write(data)
oldf.close()
newf.close()

随机生成8位密码

# vim randpass.py
#!/usr/bin/python
import string
import random
passwd = ''
passchs = string.letters + string.digits
for i in range(8):
   passwd += random.choice(passchs)
print passwd
# ./randpass.py
1U4MMBg3

随机生成指定位数的密码

# vim randpass2.py
#!/usr/bin/python
import string
import random
allchs = string.letters + string.digits
def genPwd(num = 8):
 pwd = ''
 for i in range(num):
  pwd += random.choice(allchs)
 return pwd
if __name__ == '__main__':
 print genPwd()
 print genPwd(6)
# ./randpass2.py
hUEDcvmc
RgNMhu

原文发布于微信公众号 - 吴柯的运维笔记(wukeyy18s)

原文发表时间:2017-09-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

Jsoup代码解读之五-parser(中)

Jsoup parser的入口facade,封装了常用的parse静态方法。可以设置maxErrors,用于收集错误记录,默认是0,即不收集。与之相关的类有Pa...

8020
来自专栏Android中高级开发

Android并发编程 多线程与锁

该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,如果能给各位看官带来一丝启发或者帮助,那真是极好的。

12760
来自专栏程序员宝库

【译】深入研究 Laravel 的依赖注入容器

原文地址:Laravel's Dependency Injection Container in Depth 下面是中文翻译。 Laravel拥有强大的控制反转...

64370
来自专栏企鹅号快讯

AJAX开发教程之$.ajax常用方法详解

AJAX 是一种与服务器交换数据的技术,可以在补充在整个页面的情况下更新网页的一部分。接下来通过本文给大家介绍ajax一些常用方法,大家有需要可以一起学习。 1...

33750
来自专栏静晴轩

Java 中的并发

如何创建一个线程 按 Java 语言规范中的说法,创建线程只有一种方式,就是创建一个 Thread 对象。而从 HotSpot 虚拟机的角度看,创建一个虚拟机...

35260
来自专栏北京马哥教育

十分钟带你了解 Python3 多线程核心知识

每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 每个线程都有他自...

27750
来自专栏日常分享

Java 线程池的实现

        任务接口:每个任务必须实现的接口,主要用来规定任务的入口、任务执行完后的收尾工作、任务的执行状态等。 工作线程通过该接口调度任务的执行。

19050
来自专栏码代码的陈同学

Java中的类加载器

Class loaders属于JRE的一部分,负责在运行时将Java类动态加载到JVM。得益于class loaders,JVM在无需知晓底层文件或文件系统时就...

13220
来自专栏xingoo, 一个梦想做发明家的程序员

Redis初级介绍

1 什么是Redis Redis(REmote DIctionary Server,远程数据字典服务器)是开源的内存数据库,常用作缓存或者消息队列。 Redis...

21190
来自专栏fixzd

[代码结构设计]根据不同条件使用不同实现类的业务代码设计

这样大家可能不是太理解。举个例子,现在大街小巷上的商户都采用了聚合支付的支付方式,聚合支付也就是商户柜台前放了一个支持支付宝、微信、京东钱包、银联等等的二维码,...

14040

扫码关注云+社区

领取腾讯云代金券