前言

Python基础系列博文已顺利结束,从这一篇开始将进入探索更加高级的Python用法,Python进阶系列文章将包含面向对象、网络编程、GUI编程、线程和进程、连接数据库等。不过在进阶之前,先来熟练使用一些Python的小技巧,这就好像操作系统的快捷键一样,熟练掌握这些小技巧会让你工作起来事半功倍,话不多说,盘它!

Python常用技巧

技巧一:加速pip安装

使用pip安装第三方模块时,网速总是很慢,这是因为pip的镜像源在国外,如果换成国内稳定的镜像源速度将会飞起,这里推荐豆瓣的镜像源

「本次安装时更改为豆瓣镜像源,使用 -i 指定镜像源」

pip install -i https://pypi.douban.com/simple 模块

「永久更改为豆瓣镜像源,推荐」

Linux/macOS平台:

修改pip的配置文件,文件位置~/.pip/.pip.conf(如果没有自己创建即可),将其改为如下内容保存:

[global]
index-url = https://pypi.douban.com/simple

Windows平台:

打开资源管理器,在地址栏输入%appdata%后回车,在此位置新建pip文件夹,进入pip文件夹,新建pip.ini文件,鼠标右键用记事本打开,输入如下内容保存:

[global]
index-url = https://pypi.douban.com/simple

技巧二:pip命令补全

pip命令可以想Linux命令一样使用tab键补全,只需运行如下命令即可:

Linux/macOS平台:

「bash用户」

$ pip completion -b >> ~/.profile

「zsh用户」

$ pip completion -z >> ~/.zshrc

技巧三:pip批量安装模块

有时一个Python项目需要用到大量第三方模块,手动使用pip一条一条安装是不现实的,这时就要使用批量安装了,将需要的模块写入requirements.text文件中,一个模块占用一行,模块名必须有,版本号可有可无(通常项目开发者会创建这个文件,方便其他使用者安装模块),这时使用pip批量安装即可:

$ pip install -r requirements.text

技巧四:检测模块是否正确安装

当我们安装了一个第三方模块时,第一步总是要检测其是否正确安装,通常做法是打开python交互界面,输入 import 模块 回车后如果不抛出异常则证明成功安装,否则安装失败。这种方法应对一两个模块还行,但是如果需要检测上百个模块怎么办?这时就需要命令方式来检测了:

$ python -c 'import jieba'     # jieba模块已经正确安装,不会返回任何信息
$ python -c 'import flask' # flask模块没有安装,抛出异常
Traceback (most recent call last):
File "<string>", line , in <module>
ImportError: No module named 'flask'

使用这种命令的方式可以大大的提高检测效率,只需要编写一个Shell或者Python脚本就可以实现了

技巧五:快速将json字符串转换为字典格式

有时需要将一个json字符串转换为字典,但是又不想新建Python文件导入json模块,那怎么办呢?快洗洗睡哇!!!其实还真有办法,那就是使用json.tool在命令行直接解析:

$ echo '{"name": "MinuteSheep", "age": 99, "gender": "male"}' | python -m json.tool

{
"name": "MinuteSheep",
"age": ,
"gender": "male"
}

可以看到非常方便,连格式都自动格式化了

技巧六:秒开下载服务器

日常生活中,经常要拷贝和被拷贝同学或者同事的文件,要么用U盘,要么登录QQ,总感觉很烦!!!此时,使用Python秒开一个下载服务器将会解决你的所有烦恼,尤其是对于在同一个网络环境下的用户。将需要传给同事的文件拷贝到一个文件夹,之后在这个文件夹中输入如下命令:

$ python -m http.server
Serving HTTP on 0.0.0.0 port ...

这时候在同一个网络下的用户便可以用浏览器访问这个目录了(访问方法:假如我的IP地址为123.123.123.123,其他用户只需在浏览器地址栏输入:123.123.123.123:8000)点击文件下载即可,超方便有没有,这该死的无处安放的魅力啊~

技巧七:同时遍历多个可迭代对象

有时在处理数据的时候,经常出现这种情况:名字有一个单独的列表,性别有一个单独的列表,年龄有一个单独的列表,当你想一一对应的时候,一定会尝试这样做:

In [1]: name = ['aa','bb','cc','dd','ff']

In [2]: age = [12,13,14,15,14]

In [3]: gender = ['m','f','m','f','f']

In [4]: for n,a,g in name,age,gender:
...: print(n,a,g)
...:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-4-c3abaee834b9> in <module>
----> 1 for n,a,g in name,age,gender:
2 print(n,a,g)
3 ValueError: too many values to unpack (expected 3) # 可以看到抛出参数过多异常,列表不能迭代超过一个

#1 Python灵活技巧的更多相关文章

  1. python数据处理技巧二

    python数据处理技巧二(掌控时间) 首先简单说下关于时间的介绍其中重点是时间戳的处理,时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00 ...

  2. Python 实用技巧

    模块相关 导入模块时,可以通过模块的 __file__ 属性查看模块所在磁盘的路径位置,参考:关于Python包和模块的10个知识清单 Pip 安装Pip 方法一: sudo apt-get purg ...

  3. Python爬虫技巧

    Python爬虫技巧一之设置ADSL拨号服务器代理 reference: https://zhuanlan.zhihu.com/p/25286144 爬取数据时,是不是只能每个网站每个网站的分析,有没 ...

  4. 一些你需要知道的Python代码技巧

    被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能.本文或许能够让你学到一些新技巧.   Python 是世界上最流行.热门的编程语言之一,原因很多,比 ...

  5. 掌握这个Python小技巧,轻松构建cytoscape导入文件

    今天小编和大家分享如何借助Python脚本轻松构建cytoscape导入文件.Cytoscape是一个非常适合展示各种相互作用关系的可视化软件. 具体来说就是可以用于蛋白互作网络的展示,miRNA与蛋 ...

  6. 掌握这些Python代码技巧,编程至少快一半!

    被人工智能捧红的 Python 已是一种发展完善且非常多样化的语言,其中肯定有一些你尚未发现的功能.本文或许能够让你学到一些新技巧. ​ Python 是世界上最流行.热门的编程语言之一,原因很多,比 ...

  7. Python解题技巧

    Python解题技巧 一直都是用C++和C解题,某题简单解完后便心血来潮想用Python解一次,发现一些问题,特写此篇随笔来记录. 一. 输入格式: 例:输入第1行给出正整数n和整数m:第2行给出n个 ...

  8. python小技巧 小知识

    python小技巧 小知识 python系统变量(修改调用shell命令路径)或用户空间说明 20150418 python调用系统命令,报找不到.怎么办? 类似执行shell的: [ -f /etc ...

  9. 10大python加速技巧

    简介 目前非常多的数据竞赛都是提交代码的竞赛,而且加入了时间的限制,这就对于我们python代码的加速非常重要.本篇文章我们介绍在Python中加速代码的一些技巧.可能不是很多,但在一些大的循环或者函 ...

随机推荐

  1. 1021. Deepest Root DFS 求最长无环路径

    第一次出现超时 ac不了的题 思路一:对于每个节点用一次dfs dfs中 记录到当前的最长路径,若大于最长,则清除set,并加入当前节点 思路二:先查找只有一个相邻节点的节点进行dfs,由于可能存在闭 ...

  2. Python Flask学习笔记之Hello World

    Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...

  3. Django+easyui 快速开发

    Django的使用我们可以查看上一篇博客,今天我们要在Django中使用easyui快速开发,在我们安装好Django, 我们可以道改地址那一下easyui 官方API文档(http://downlo ...

  4. Exp4 恶意代码分析 ——20164325王晓蕊

    1.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行. 分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systracer套件 ...

  5. react native (2) 嵌入h5页面 设置顶部导航

    嵌入h5页面 1.新建好页面 2. import { WebView } from 'react-native'; 3.<WebView source={{ uri: '要引入的页面路径' }} ...

  6. java基础0615

    1. 1)2)   1)输出:Base  2)编译成功,但没有输出. 2. 编译成功,但没有输出. 3. 只有12行的话,不会新建文件.需要create~~ 4. public static void ...

  7. java.exe

    进程:是一个正在执行中的程序.每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者叫一个控制单元. 线程(例:FlashGet):就是进程中一个独立的控制单元.线程在控制着进程的执行.一个进程中 ...

  8. 新特技软件(Analyzer)添加新用户

    新特技软件添加新用户的步骤比较多,记录下来,方便以后使用 安装完软件,处理好自己的AS以后,准备添加用户 步骤一: 我们要在安装Analyzer的服务器上添加新的Windows用户 步骤二:在Anal ...

  9. JavaScript原生实现观察者模式

    观察者模式又叫做发布订阅模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生改变时就会通知所有观察着对象. 它是由两类对象组成,主题和观察者,主题负责发布事件 ...

  10. BeanPostProcessor —— 连接Spring IOC和AOP的桥梁

    之前都是从大Boss的视角,来介绍Spring,比如IOC.AOP. 今天换个视角,从一个小喽啰出发,来加深对Spring的理解. 这个小喽啰就是, BeanPostProcessor (下面简称 B ...