6个实用的 Python 自动化脚本,你学会了吗?,这些年Python面试的那些套路

下面是指定城市(县、区)天气的网址,直接打开网址,就会返回对应城市的天气数据。比如:

http://www.weather.com.cn/data/cityinfo/101021200.html上海徐汇区对应的天气网址。

具体代码如下:

import requests

import json

import logging as log

def get_weather_wind(url):

r = requests.get(url)

if r.status_code != 200:

log.error(“Can’t get weather data!”)

info = json.loads(r.content.decode())

get wind data

data = info[‘weatherinfo’]

WD = data[‘WD’]

WS =

6个实用的 Python 自动化脚本,你学会了吗?,这些年Python面试的那些套路_第1张图片

data[‘WS’]

return “{}({})”.format(WD, WS)

def get_weather_city(url):

open url and get return data

r = requests.get(url)

if r.status_code != 200:

log.error(“Can’t get weather data!”)

convert string to json

info = json.loads(r.content.decode())

get useful data

data = info[‘weatherinfo’]

city = data[‘city’]

temp1 = data[‘temp1’]

temp2 = data[‘temp2’]

weather = data[‘weather’]

return “{} {} {}~{}”.format(city, weather, temp1, temp2)

if name == ‘main’:

msg = “”"天气提醒:

{} {}

{} {}

来源: 国家气象局

“”".format(

get_weather_city(‘http://www.weather.com.cn/data/cityinfo/101021200.html’),

get_weather_wind(‘http://www.weather.com.cn/data/sk/101021200.html’),

get_weather_city(‘http://www.weather.com.cn/data/cityinfo/101020900.html’),

get_weather_wind(‘http://www.weather.com.cn/data/sk/101020900.html’)

)

print(msg)

5、长网址变短网址

有时,那些大URL变得非常恼火,很难阅读和共享,此脚可以将长网址变为短网址。

import contextlib

from urllib.parse import urlencode

from urllib.request import urlopen

import sys

def make_tiny(url):

request_url = (‘http://tinyurl.com/api-create.php?’ +

urlencode({‘url’:url}))

with contextlib.closing(urlopen(request_url)) as response:

return response.read().decode(‘utf-8’)

def main():

for tinyurl in map(make_tiny, sys.argv[1:]):

print(tinyurl)

if name == ‘main’:

main()

这个脚本非常实用,比如说有不是内容平台是屏蔽公众号文章的,那么就可以把公众号文章的链接变为短链接,然后插入其中,就可以实现绕过。

6、清理下载文件夹

世界上最混乱的事情之一是开发人员的下载文件夹,里面存放了很多杂乱无章的文件,此脚本将根据大小限制来清理您的下载文件夹,有限清理比较旧的文件:

import os

import threading

import time

def get_file_list(file_path):

#文件按最后修改时间排序

dir_list = os.listdir(file_path)

if not dir_list:

return

else:

dir_list = sorted(dir_list, key=lambda x: os.path.getmtime(os.path.join(file_path, x)))

return dir_list

def get_size(file_path):

“”"[summary]

Args:

file_path (type): [目录]

Returns:

“”"

totalsize=0

for filename in os.listdir(file_path):

totalsize=totalsize+os.path.getsize(os.path.join(file_path, filename))

#print(totalsize / 1024 / 1024)

最后

硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
os.path.getsize(os.path.join(file_path, filename))

#print(totalsize / 1024 / 1024)

最后

硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

你可能感兴趣的:(程序员,面试,经验分享,开发语言)