Linux文件权限介绍

在Linux中,一切皆为文件(目录也是文件),每个文件对用户具有可读(read)、可写(write)、可执行(execute)权限。目录的执行操作表示是否有权限进入该目录,文件的可执行表示是否可以运行该文件。文件都会从属于一个用户和一个用户组,每个文件针对文件的拥有者、所属组以及其他用户组具有特定的权限。 如上图,除去第一个表示文件类型的字符外,后面的字符均以三个为一组,是『rwx』 ...

more ...

python3特性一:高级拆箱

a, b = range(2) >>> a 0 >>> b 1 你可以把序列中多个多 Python2 中可以以这样的方式进行拆箱操作: >>> a, b = range(2) >>> a 0 >>> b 1 你可以把序列中多个多个元素赋值给多个变量名,不过在 Python2 中必须满足变量名的个数与序列中的元素的个数是相等的,否则会报错。 然而,在 Python3 中你可以这样: ...

more ...

分析urllib.unquote乱码的原因

Python中的urllib模块用来处理url相关的操作,unquote方法对应javascript中的urldecode方法,它对url进行解码,把类似"%xx"的字符替换成单个字符,例如:“%E6%B3%95%E5%9B%BD%E7%BA%A2%E9%85%92”解码后会转换成“法国红酒”,但是使用过程中,如果姿势不对,最终转换出来的字符会是乱码“æ³•å›½çº¢é ”。 ...

more ...

在Linux中替换目录下多个文件中的字符串

在Linux中,替换多个文件中的某个字符串可以使用grep和sed的组合来实现这个功能。 基本格式 grep -rl matchstring somedir/ | xargs sed -i 's/string1/string2/g' matchstring是你将要被替换的字符串,它与string1是同样的字符串,string2是用来替换string1的字符串。somdir表示在指定目录下。 ...

more ...

CentOS升级Python2.7

CentOS 6.X 自带的Python版本是 2.6 , 但是很多主流框架和第三方依赖包已经开始逐步放弃维护2.6版本了,况且如果一个全新的业务系统还是用Python2.6跑的话,你都不好意思说是搞Python的,为了顺利升级到Python2.7,笔者根据网上资料整理了升级步骤和过程中遇到的问题。 环境准备 更新系统和开发工具集 yum -y update yum ...

more ...

PYTHON编码的前世今生

这是我在知乎上回答的一个问题:Python 编码为什么那么蛋疼?,期间收到了不少赞,不过发现我的回答还存在一些误导,于是通过查找资料重新整理了一篇,希望能解答你对编码的困惑。 一旦走上了编程之路,如果你不把编码问题搞清楚,那么它将像幽灵一般纠缠你整个职业生涯,各种灵异事件会接踵而来,挥之不去。只有充分发挥程序员死磕到底的精神你才有可能彻底摆脱编码问题带来的烦恼,我第一次遇到编码问题是写 ...

more ...

完全理解Python迭代对象、迭代器、生成器

本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators,俺写的这篇文章是按照自己的理解做的参考翻译,算不上是原文的中译版本,推荐阅读原文,谢谢网友指正。 ...

more ...

Linux性能监控命令详解:lsof

lsof可以查看当前系统所有的打开文件,在linux环境下,一切皆文件,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件,如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,文件描述符提供了大量关于这个应用程序本身的信息。 命令参数: -a 列出被打开的文件的进程列表 -c<进程名> 列出指定进程所打开的文件 -g ...

more ...

标签云算法Python实现

标签云(Tag Cloud)常见于各种博客站点中,标签有利于网站内容分类,还可以用于相关性内容推荐。近日笔者有空把个人的开源博客Django_blog添加了一个新功能--标签云。最终效果请访问:http://foofish.net/blog/tags 实现原理 标签云最终展现出来的效果其实是由两个HTML参数来控制的,分别是:font-size和color,如: <a ...

more ...

算法题:链表反转

链表的反转是一个很常见、很基础的数据结构题,输入一个单向链表,输出逆序反转后的链表,如图:上面的链表转换成下面的链表。实现链表反转有两种方式,一种是循环迭代,另外一种方式是递归。 第一种方式:循坏迭代 循坏迭代算法需要三个临时变量:pre、head、next,临界条件是链表为None或者链表就只有一个节点。 # encoding: utf-8 class Node(object): def ...

more ...

Linux性能监控命令详解:free

在系统遇到各种IO瓶颈,内存使用率高,cpu使用率高等问题时,我们如何来定位错误?linux提供了很多命令来协助我们快速定位到错误,free命令是Linux最常用的命令之一:它可以查看系统的内存状况,包括服务器的总内存,已经使用的内存和剩下未被使用的内存,以及缓冲区和缓存各自占用的内存情况。 $ free -m total used free shared buffers cached ...

more ...

免费中文Python电子书(教程)

小白Python教程,Python3中文教程,电子版, 廖雪峰的小白python教程,有python2和python3两个版本: 简明Python教程,简明python教程,是《A Byte of Python》的中文版 零基础学Python,老齐(qiwsir)的Python基础教程Gitbook版 可爱的 Python ,大妈(Zoom.Quiet)创意并组建团队,完全由 CPyUG ...

more ...

12步教你理解Python装饰器

或许你已经用过装饰器,它的使用方式非常简单但理解起来困难(其实真正理解的也很简单),想要理解装饰器,你需要懂点函数式编程的概念,python函数的定义以及函数调用的语法规则等,虽然我没法把装饰器变得简单,但是我希望可以通过下面的步骤让你由浅入深明白装饰器是什么。假定你拥有最基本的Python知识,本文阐述的东西可能对那些在工作中经常接触Python的人有很大的帮助。 ...

more ...

Python中的垃圾回收机制

GC作为现代编程语言的自动内存管理机制,专注于两件事:1. 找到内存中无用的垃圾资源 2. 清除这些垃圾并把内存让出来给其他对象使用。GC彻底把程序员从资源管理的重担中解放出来,让他们有更多的时间放在业务逻辑上。但这并不意味着码农就可以不去了解GC,毕竟多了解GC知识还是有利于我们写出更健壮的代码。 引用计数 Python语言默认采用的垃圾收集机制是『引用计数法 Reference ...

more ...

Python字典对象实现原理

字典类型是Python中最常用的数据类型之一,它是一个键值对的集合,字典通过键来索引,关联到相对的值,理论上它的查询复杂度是 O(1) : >>> d = {'a': 1, 'b': 2} >>> d['c'] = 3 >>> d {'a': 1, 'b': 2, 'c': 3} ...

more ...