1. 写文件可以直接使用print函数

file_name = open("file_name.txt","w")

print("file contain.",file = file_name)

file_name.close()

2. 判断一个文件有没有打开

可以判断文件变量有没有被定义,即有没有在locals()返回的集合中

try:
file_name = open("file_name","r")
except IOError:
print("File eror")
finally:
if 'file_name' in locals():
file_name.close()

3. 使用with语句就不再需要包含一个finally组来处理文件的关闭,python解释器会自动考虑这一点

打开多个文件时,中间用逗号分隔

try:
with open("file_name1","w") as file_name1, open("file_name2","w") as file_name2:
print("file1 contain.",file = file_name1)
print("file2 contain.", file = file_name2)
except IOError:
print("File eror")

4. print默认输出的位置是sys.stdout,即屏幕,其在sys模块中定义。file参数可以改变输出位置,比如输出到文件。

print函数的默认签名为 print(value, sep=' ', end='\n', file=sys.stdout)

5. python提供了一个标准库,名为pickle,可以保存和加载几乎任何python数据对象

需要导入所需要的模块,然后使用dump()保存数据,以后某个时间使用load()恢复数据。惟一的要求就是必须以二进制访问模式打开这些文件,如果出了问题,pickle模块会产生一个PickleError。

import pickle
try:
with open("file_name","wb") as file_name:
pickle.dump([1,2,3], file_name)
with open("file_name2", "rb") as file_name2:
temp_list = pickle.load(file_name2)
except IOError as err:
print("File eror: " + str(err))
except pickle.PickleError as perr:
print("Pickling error: " + str(perr))

6. 对于列表,sort()方法提供原地排序,sorted()方法提供复制排序,使用方法略有不同,如下

data.sort()      sorted(data)

两个方法默认升序,降序的话,要传入参数reverse=True

7. glob模块可以向操作系统查询一个文件名列表

import glob
data_files = glob.glob("data/*.txt")

8. python提供了自己的web服务器,这个web服务器包含在http.server库模块中。

构建一个web服务器要有这5行代码

# 导入HTTP服务器和CGI模块
from http.server import HTTPServer, CGIHTTPRequestHandler
# 指定一个接口
port = 8080
# 创建一个HTTP服务器
httpd = HTTPServer(('',port),CGIHTTPRequestHandler)
print("Starting simple_httpd on port: " + str(httpd.server_port))
httpd.serve_forever()

9. python的CGI模块可以用来访问表单数据

import cgi
# 获取所有表单数据并放在一个字典中
form_data = cgi.FieldStorage()

10. python的标准库提供了一个CGI跟踪模块:cgitb,启用这个模块时,会在web浏览器上显示详细的错误消息。这些消息可以帮助你找出CGI中哪里出了问题,改正错误而且CGI正常工作后中,再关掉CGI跟踪

import cgitb
cgitb.enable()

11. python3 预装了SQLite3,要使用SQLite,只需要导入sqlite3库,燕使用Python的标准化数据库API来编程

# 导入sqlite3库
import sqlite3
# 建立与数据库的连接
connection = sqlite3.connect('test.sqlite')
# 创建游标
cursor = connection.cursor()
# 建表
cursor.execute("""CREATE TABLE students(
id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE NOT NULL,
name TEXT NOT NULL,
dob DATE NOT NULL)""")
cursor.execute("""CREATE TABLE score(
student_id INTEGER NOT NULL,
value TEXT NOT NULL,
FOREIGN KEY (student_id) REFERENCES students)""")
connection.commit()
cursor.execute("INSERT INTO students (name,dob) VALUES (?,?)",(name,dob))
connection.commit()
cursor.execute("SELECT id from students WHERE name=? AND dob=?",(name,dob))
cursor.execute("SELECT value FROM score WHERE student_id=?",(student_id,))
# 游标方法返回的都是数据行列表
# 返回下一个数据行
cursor.fetchone()
# 返回多个数据行
cursor.fetchmany()
# 返回所有数据
cursor.fetchall()
connection.close()

12. os库可以查询系统环境变量

import os
os.environ['path']

13. python在函数中对直接使用全局变量时,会查找同名的局部变量,找不到就会报UnboundLocalError异常。要在函数里修改一个全局变量时,要在函数里global + 变量名进行声明。

sayhi = 'hello'
def what_to_say():
global sayhi
print(sayhi)
sayhi = 'bey-bey'
print(sayhi)

14. dict中字符串为utf-8编码,输出中文

import json
print json.dumps(dict, encoding="UTF-8", ensure_ascii=False)

15. ImportError: cannot import name 'create_prompt_application'

运行jupyter出现过这个错误提示

代码无法运行

服务器无法连接

原因:prompt-toolkit版本不对

解决方法:安装符合要求的版本,如pip3 install prompt-toolkit==1.0.15

python杂记二的更多相关文章

  1. Python 基础 二

    Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...

  2. 初学Python(二)——数组

    初学Python(二)——数组 初学Python,主要整理一些学习到的知识点,这次是数组. # -*- coding:utf-8 -*- list = [2.0,3.0,4.0] #计算list长度 ...

  3. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  4. 有关python下二维码识别用法及识别率对比分析

    最近项目中用到二维码图片识别,在python下二维码识别,目前主要有三个模块:zbar .zbarlight.zxing. 1.三个模块的用法: #-*-coding=utf-8-*- import ...

  5. PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

    Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...

  6. 从Scratch到Python——Python生成二维码

    # Python利用pyqrcode模块生成二维码 import pyqrcode import sys number = pyqrcode.create('从Scratch到Python--Pyth ...

  7. 用python生成二维码

    Python生成二维码,可以使用qrcode模块, github地址 我是搬运工 首先安装, 因为打算生成好再展示出来,所以用到Pillow模块 pip install qrcode pip inst ...

  8. Python 实现二维码生成和识别

    今天突然想给自己自己做个头像,然后还是二维码的形式,这样只要扫一扫就可以访问我的主页.然后就开始自己的苦逼之路... 其实实现二维码java,c#,C++等都可以实现:由于自己正在学python,所以 ...

  9. Python - 模块(二)

    目录 Python - 模块(二) re re下面的方法 logging os Python - 模块(二) re re模块提供了正则表达式的相关操作 主要字符介绍: . 通配符,除了换行符之外的任意 ...

随机推荐

  1. vue-cli项目在IE下运行钩子函数抛出异常“ReferenceError: “Promise”未定义"”的解决办法

    兼容IE是个坑,低版本IE很多都没法跑起来 问题现象:vue-cli项目在IE下运行,会在钩子函数出现 ReferenceError: “Promise”未定义 解决办法: step1:安装最新的we ...

  2. mac mongodb安装

    1.前往官网下载.tgz文件 2.解压 tar zxf mongo压缩文件 3.配置环境变量:MAVEN_HOME & bin路径 4.创建data & log文件夹 5.执行安装命令 ...

  3. Introduction to Parallel Computing

    Copied From:https://computing.llnl.gov/tutorials/parallel_comp/ Author: Blaise Barney, Lawrence Live ...

  4. C语言volatile关键字的用法

    volatile关键字的意义在于让被关键字修饰的变量每次使用时都重新去主内存里读取变量,而不是从高速缓存去读取. int a = 1; 普通变量定义之后,若要使用它,都会 先把它的值从主内存拷贝到高速 ...

  5. delphi 各版本的特性

    delphi 各新版本特性收集 Delphi XE6新增了一些特性并增强了原有的功能,主要有以下几个方面:   IDE(整合开发环境)   Internet XML(扩展标记语言) Compiler( ...

  6. 自动编译批处理设置(MSBuild)

    基本设置,如果想更改可以设置. @echo off rem --------------------------------- rem ----作成者:李暁賓--------------- rem - ...

  7. MSDE2008安装备忘

    MSDE2008安装备忘(适用于WIN7 8 10) 1.系统中必须要VC8.0,即VC2005运行库.2.系统中必须要有.net framework2.0.3.5.4.6运行库.3.windows防 ...

  8. Indent Guides插件格式代码

    vs开发工具实用性插件 一.   在开发遇到过很多括号缩近的,很是头疼,于是上网收了一下,希望对大家有所帮助. 第一款插件:Indent Guides 这款插件是给代码块增长对齐线,以标识匹配的花括号 ...

  9. 你云我云•兄弟夜谈会 第三季 企业IT架构

    你云我云•兄弟夜谈会 第三季 企业IT架构 你云我云•兄弟夜谈会 第二季 5G 你云我云•兄弟夜谈会 第一季 企业云 0. 概况 时间:2019年2月23日 22:00~23:30 主题:企业IT架构 ...

  10. Anaconda安装及配置

    简介 Anaconda(官方网站)指的是一个开源的Python发行版本,可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本.Anaconda包含了conda.Python在内的超过18 ...