Python 函数习题
#encoding=utf-8 from urllib.request import urlopen
import random
import os '''
1. 定义一个fuc(url, folder_path)
获取url地址的内容,保存到folder_path的文件目录下,并随机生成一个文件名。
'''
def save_url_content(url,folder_path=None):
if not (url.startswith('http://') or url.startswith('https://') ):
return u'url地址不符合规格'
if not os.path.isdir(folder_path):
return u'folder_path非文件夹'
d = urlopen(url)
content = d.read()
rand_filename = 'test_%s'%random.randint(1,1000)
file_path = os.path.join(folder_path,rand_filename)
d = open(file_path,'wb')
d.write(content)
d.close()
return file_path print (save_url_content('http://www.baidu.com','tmp')) '''
3. 定义一个func(url),分析该url内容里有多少个链接。
'''
def get_url_count(url):
if not (url.startswith('http://') or url.startswith('https://') ):
return u'url地址不符合规格'
d = urllib.urlopen(url)
content = d.read()
return len(content.split('<a href=')) - 1 # str 到bytes 而精致没解决
print (get_url_count('http://hi.baidu.com/jxq61/item/149d29cc8d52513d4594168f')) '''
2. 定义一个func(folder_path),合并该目录下的所有文件,生成一个all.txt。
'''
def merge(folder_path): if not os.path.exists(folder_path):
return 'not exists' for f in os.listdir(folder_path):
file_path = os.path.join(folder_path,f)
if os.path.isdir(file_path):
merge(file_path)
else:
merge_file = open('merge_test','ab+')
content = open(file_path,'rb').read()
merge_file.write(content)
merge_file.close() merge('tmp') '''
4. 定义一个func(url), 获取他?后的参数,并返回成一个dict。
''' import urlparse
# urlparse模块主要是把url拆分为6部分,并返回元组。
# urllib.parse.urlparse(urlstring, scheme='', allow_fragments=True)
def qs(url):
query = urlparse.urlparse(url).query
return dict([(k,v[0]) for k,v in urlparse.parse_qs(query).items()]) print (qs('http://126.com'))
print (qs('http://api/api?f=5&g=6&y=5'))
print (qs('http://api/api?11=53'))
'''
5. 定义一个func(folder),删除该folder下的所有文件。50421
'''
#使用递归去解决
def delete(folder_path):##习题5
if not os.path.exists(folder_path):
return 'not exists' for f in os.listdir(folder_path):
file_path = os.path.join(folder_path,f)
if os.path.isdir(file_path):
delete(file_path)
else:
os.remove(file_path) delete('/tmp/5')
Python 函数习题的更多相关文章
- Pass算子python 函数
Pass算子python 函数 函数 函数是代码的一种组织形式 函数应该能完成一项特定的工作,而且一般一个函数只完成一项工作 有些语言,分函数和过程两个概念,通俗解释是,有返回结果的是函数,无返回结果 ...
- python 函数之day3
一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...
- Python函数作用域的查找顺序
函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...
- Python函数讲解
Python函数
- Python函数信息
Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...
- Python函数参数默认值的陷阱和原理深究"
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...
- Python开发【第四章】:Python函数剖析
一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...
- Python函数解析
对于Python的函数,我们需要记住的是: 1. 函数的默认返回值是None. 2. python是一个自上而下逐行解释并执行的语言.因此,函数的定义必须在函数被调用之前.同名的函数,后定义的会覆盖前 ...
- Python入门笔记(18):Python函数(1):基础部分
一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...
随机推荐
- CSS设计取消a标签的修饰,转为文本
用法:text-decoration:none;修饰:text-decoration的用法:http://www.runoob.com/cssref/pr-text-text-decoration.h ...
- k8s api server ha 连接配置问题
常见的lb 负载有硬件的f5 big-ip ,同时对于互联网公司大家常用的是nginx haproxy 了解k8s 集群高可用的都知道 api server 是无状态的(etcd 解决了),但是 ...
- 微信H5支付 EasyWechat
其中如果想在一个laravel中使用多个不同主题的支付账户,可以在方法实例对象时,将对应的参数进行修改配置. 其中小程序支付,已得到验证. 1.公众号支付等资格申请 2.公众号对应的支付商户主体申请 ...
- nginx upstream配置
upstream *.com { server 127.0.0.1:5000 weight=10 max_fails=2 fail_timeout=30s;} server { listen 80; ...
- Qt开发环境下载和安装
Qt是跨平台的图形开发库,目前由Digia全资子公司 Qt Company 独立运营,官方网址: http://www.qt.io/ 也可以访问Qt项目域名:http://qt-project.org ...
- 如何在已经安装好的Nginx上增加新模块
学习资源: https://blog.csdn.net/dxm2025/article/details/41149865 https://blog.csdn.net/qq_36663951/artic ...
- biosdevname网卡命名方式
在前天通过了最后的 Go/No-Go 会议后,Fedora 15 已定于下周正式发布,这个永远站在开源技术最前沿的发行版,即将迎来又一个新的大的变动.作为 Fedora 用户,相信你已经习惯了每个新版 ...
- fragment用法
简单用法: 1.新建布局.新建fragment类 2.在activity_main.xml中添加fragment <LinearLayout...... <fragment android ...
- 洛谷 P3302 [SDOI2013]森林 Lebal:主席树 + 启发式合并 + LCA
题目描述 小Z有一片森林,含有N个节点,每个节点上都有一个非负整数作为权值.初始的时候,森林中有M条边. 小Z希望执行T个操作,操作有两类: Q x y k查询点x到点y路径上所有的权值中,第k小的权 ...
- mybatis配置ehcache缓存
1:在spring配置文件中加载缓存配置文件 <!-- 使用ehcache缓存 --> <bean id="ehCacheManager" class=" ...