作为一个看了两三个月Python教程的java渣渣,前几天被超级有缘分的大学校友问能不能帮她写脚本,哇咔咔,好激动好兴奋,终于有实际写Python代码的机会了。
三下五除二装好了Python2.7和pychram,开始练手Python。
模拟了一下学姐的需求,建了一个一行有一个名字的text文件,我想实现的是统计每个名字出现的次数。
文件(test.txt)内容如下:
hupan
zhangshan
hupan
Python代码如下:
#coding=utf-8 # 编码注释
l = [] #定义一个列表,存放每一行的名字
d = {} #定义一个字典,存放名字和名字出现的次数
with open('D://test.txt','r') as f: #用读的方式打开文件
for line in f.readlines(): #按行读
l.append(line.strip()) #将读出来的数据放进列表中
for x in l: #遍历列表
if x in d: #判断该名字是否在字典中
d[x] = d[x]+1 #次数加1
else:
d[x] = 1 #名字第一次出现,次数初始化为1
print(d)
输出:
{'zhangshan': 1, 'hupan': 2}
帮学姐写的第一个脚本:重命名图片,同时等比例压缩大图
#coding=utf-8
import os
import random
from PIL import Image
last_name = ['赵', '钱', '孙', '李', '涂']
first_name = ['丹', '晴', '海', '敏', '慧']
def random_name():
name_all = random.choice(last_name)+random.choice(first_name)+random.choice(first_name)
return name_all
def reName(dirname):
filelist = os.listdir(dirname)
count = 10000
for file in filelist:
oldDir = os.path.join(dirname, file)
if os.path.isdir(oldDir):
continue
filename = os.path.splitext(file)[0]
filetype = os.path.splitext(file)[1]
newDir = os.path.join(dirname, random_name()+"_"+str(count)+filetype)
os.rename(oldDir, newDir)
image = Image.open(newDir)
w, h = image.size
if h > 1000:
w =1000/h * w
h = 1000
image = image.resize((int(w), int(h)), Image.ANTIALIAS)
image.save(newDir)
count += 1
if __name__ == '__main__':
dirname = 'E:/images/'
reName(dirname)
2019年10月23号,学姐说“一个列表list=['abc','qwe','efg','abc','qwe','abc'],最后输出:'abc'有3个,'qwe'有2个,'efg'有1个,用python帮我写一下”。哈哈哈,学姐让我帮她写的第二个程序竟然是我的hello world!
嗯!人生苦短,快学Python!
网友评论