标签 Python 下的文章

python列表中添加元素的方法主要有:append(),extend(), insert()。这三个方法都可以向列表中添加元素,通过参数可以也能实现相同的结果,但是这三个方法的使用是不一样的,参数也是不一样的。各自有各自的使用场景。

  1. append() 追加单个元素到List的尾部,只接受一个参数,参数可以是任何数据类型,被追加的元素在List中保持着原结构类型。
    例如:

    list1 = [1,2,3,4]
    list2 = [4,5,6,7]
    list1.append(list2)
    # 得到的结果是[1,2,3,4[4,5,6,7]]
  2. extend() 将一个列表中每个元素分别添加到另一个列表中,只接受一个参数。
    例如:

    list1 = [1,2,3,4]
    list2 = [4,5,6,7]
    list1.extend(list2)
    # 得到的结果是[1,2,3,4,4,5,6,7]
  3. insert() 将一个元素插入到列表中,但其参数有两个,第一个参数是索引点,即插入的位置,第二个参数是插入的元素。
    例如:

    list1 = [1,2,3,4]
    list2 = [4,5,6,7]
    list1.insert(1, list2)
    # 得到的结果是[1,4,5,6,7,2,3,4]

哈哈,小编今天用python写了第一个爬虫,现在和大家分享一下,其实呢爬虫就是模拟了我们使用浏览器发送http请求,自动的批量的获取我们需要的资源,然后把获取到的资源处理下。得到我们想要的数据。小编呢这里使用的事python3,并且安装了一个依赖包requests,需要的话自己可以安装一个哦。小编这个爬虫写的比较的简单,就是爬取基本的网页,没有太高的技术水准。下面说下开发的步骤吧。
步骤:

  • 分析要爬出的网页的结构
  • 下载数据
  • 处理数据
  • 数据持久化

程序源码

import requests
import re

# 需要爬取网页的地址
url = 'https://###'

# 模拟一个http的请求
response = requests.get(url)
# 设置请求回来之后的字符串的编码格式,这个根据的事你爬取网页的编码保持一致
response.encoding = 'gbk'
# 爬取网页的源码
html = response.text
# 获取小说名称,这个需要结合你爬取的网页内容来定
title = re.findall(r'<meta property="og:novel:book_name" content="(.*?)"/>', html)[0]
# 新建一个文本来保存爬取到的数据,并且用小说名称来命名,设置编码格式
fb = open('%s.txt' % title, 'w', encoding='utf-8')

# 获取小说章节列表(根据爬取的网页数据来定)
dl = re.findall(r'<div id="list">.*?</div>', html, re.S)[0]
chapter_info_list = re.findall(r'href="(.*?)"(.*?)<', dl)

# 取出小说名称以及URL,并获取小说的章节内容
for chapter_info in chapter_info_list:
    # 取出小说名称以及URL
    chapter_url, chapter_title = chapter_info
    # 拼接章节完整的URL
    chapter_url = "%s%s" % (url,chapter_url)
    # 获取小说内容
    chapter_response = requests.get(chapter_url)
    chapter_response.encoding = 'gbk'
    chapter_html = chapter_response.text
    # 处理获取到的数据
    chapter_content = re.findall(r'<div id="content" name="content">(.*?)</div>', chapter_html, re.S)[0]
    chapter_content = chapter_content.replace(' ', '')
    chapter_content = chapter_content.replace('&nbsp;', '')
    chapter_content = chapter_content.replace('<br />', '')
    chapter_content = chapter_content.replace('<br/>', '')

    # 把数据存储到文本文件中
    fb.write(chapter_title)
    fb.write(chapter_content)
    fb.write('\n')
    print(chapter_url)

print("======end======")

计算当前时间

import datetime
datetime.datetime.now()
# 2019-06-30 10:51:14.089271
# 格式化时间
datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# 2019-06-30 10:52:05

多加(减)一天

(datetime.datetime.now()+datetime.timedelta(days=1)).strftime("%Y-%m-%
d %H:%M:%S")
# 2019-07-01 10:54:44
(datetime.datetime.now()-datetime.timedelta(days=1)).strftime("%Y-%m-%
d %H:%M:%S")
# 2019-06-29 10:55:44

多加(减)一小时

(datetime.datetime.now()+datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S")
# 2019-06-30 11:56:46
(datetime.datetime.now()-datetime.timedelta(hours=1)).strftime("%Y-%m-%d %H:%M:%S")
# 2019-06-30 09:58:02

多加(减)一分钟

(datetime.datetime.now()+datetime.timedelta(minutes=1)).strftime("%Y-%m-%d %H:%M:%S")

(datetime.datetime.now()-datetime.timedelta(minutes=1)).strftime("%Y-%m-%d %H:%M:%S")

这里的数据类型一般都是date类型,不是字符串以及time类型
先说一个字符串转date的方法:

import datetime
datetime.datetime.strptime

下面我们进入我们的主要任务,计算前或者后的日期

import datetime #导入日期时间模块
today = datetime.date.today() #我们用今天的日期测试,获得今天的日期
print today #输出一下今天日期
day = today - datetime.timedelta(days=1) #用今天日期减掉时间差,参数为n天,就获得今天n天之前的日期。
print day
day = today + datetime.timedelta(days=1) #用今天日期加上时间差,参数为n天,获得今天n天之后的日期。
print day

这里的数据类型一般都是date类型,不是字符串以及time类型
先说一个字符串转date的方法:

import datetime
datetime.datetime.strptime

下面我们进入我们的主要任务,计算前或者后的日期

import datetime #导入日期时间模块
today = datetime.date.today() #我们用今天的日期测试,获得今天的日期
print today #输出一下今天日期
day = today - datetime.timedelta(days=1) #用今天日期减掉时间差,参数为n天,就获得今天n天之前的日期。
print day
day = today + datetime.timedelta(days=1) #用今天日期加上时间差,参数为n天,获得今天n天之后的日期。
print day

小编今天在整理两个文件对比的时候,打算自己做一个可执行的python程序,进行对比,在读取其中一个文件的时候,里面有很多的空行,小编就自己解决了下,希望对大家有所帮助.

f2 = open('setphonedistrict.log.1','r')
for line in f2:
    a=line.strip()
    if len(a)!=0:
        print(a)

是不是很简单呢。

小编在这里总结下比较3位版本号的方法,比如1.2.1和1.3.1。相等就返回0,大于就返回1,小于就返回-1.
实现方法如下:

def compare_version(a, b):
    '''比较版本号'''
    la = a.split('.')
    lb = b.split('.')
    f = 0
    if len(la) > len(lb):
        f = len(la)
    else:
        f = len(lb)
    for i in range(f):
        try:
            if int(la[i]) > int(lb[i]):
                return 1
            elif int(la[i]) == int(lb[i]):
                continue
            else:
                return -1
        except IndexError as e:
            if len(la) > len(lb):
                return 1
            else:
                return -1
    return 0

安装Python2.7的虚拟环境

因为python的框架的版本更新换代很快,而且很多版本之间不兼容,所以通过python的虚拟环境来进行区分。
操作:

  • 安装打开mac的终端,执行pip install virtualenv
  • 创建执行virtualenv venv
  • 激活执行source venv/bin/activate
  • 退出执行deactivate

安装Flask

  • 执行:pip install Flask
  • 启动flask

    export FLASK_APP=flaskr
    export FLASK_ENV=development //打开所有开发功能(包括调试模式)
    flask run

  1. 安装gcc编译器,如果存在就不需要安装了yum -y install gcc
  2. 安装其他的依赖包:

     yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
  3. 安装wget,如果存在就不用安装yum -y install wget
  4. 下载wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
  5. 解压tar -zxvf Python-3.7.0.tgz
  6. 新建一个用于存放python的文件夹mkdir /usr/local/python3
  7. 编译安装

    cd Python-3.7.0
    ./configure --prefix=/usr/local/python3
    make && make install
  8. 建立软链接

     ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
     ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
  9. 测试
    输入python3回车出现如下画面就成了
    1.png

    输入exit()即可退出。