Python的赋值、浅拷贝和深拷贝解析

  1. 赋值:其实就是对象的引用(别名)。
  2. 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
  3. 深拷贝(deepcopy):copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。

一、赋值

b = a: 赋值引用,a 和 …

八大排序算法的Python实现

一、冒泡排序

冒泡排序重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。

步骤:

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

代码实现:

# -*- coding:utf-8 -*-

def bubble_sort(nums): …

Linux使用shell脚本定时备份文件(夹)

备份的原理

使用Linux的Cron程序定时执行该脚本从而达到备份和删除备份历史的目的。

主要参数

脚本主要需要设置参数有三个:

  • ORIGIN_FOLDER:要备份的目录,必须以\结尾
  • DES_FOLDER:备份文件存储路径(可以是网络路径,前提是必须要有权限管理该路径下的文件夹)
  • DAYS_AGO:该参数表示要删除多少天之前的备份(比如今天是2012年12月31日,那么20121221的文件不会被删除,20121220或比之小的文件夹将会被删除)

脚本

#! /bin/sh
#---------------------------------------------------------------------
#   shell自动备份文件夹同时检查一定日期前的文件夹并删除
#   部署好本脚本后应当在linux中设置cron自动执行: …

  • 1