Python2
安装最新版本
此处记录的是 Ubuntu Kylin 14.04 LTS 下的过程。[1] [2] [3]
打开 Terminal,输入下述命令,获取最新的包
$ cd /usr/src
$ sudo wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
# wget 所指地址是从https://www.python.org/downloads/release/python-2711/ 获取的
待下载完毕后,键入下述命令解压缩
$ tar xzf Python-2.7.11.tgz
解压完毕后,依次执行下述命令
$ cd Python-2.7.11.tgz
$ sudo ./configure --prefix=/usr
$ sudo make
$ sudo make install
完成后在命令提示符下输入 python
,即可看到 Python 版本已更新
使用非 ASCII 字符(例如中文字符)[4]
请在 Python 脚本开头输入如下代码
# -*- coding: utf-8 -*-
格式化字符串输出[5] [6] [7] [8]
# 字符串输入输出
name = "Su Shangjun"
gender = "male"
print """
My name is %r.
I'm a %s.
""" % (name, gender) # 注意,使用 `%r` 来调试,查看原始输入是什么
# 数字输入输出
rawNum = raw_input("Input a number:>")
# 下一句代码有 4 点值得注意:
# (1)长字符串换行方法:在本行末尾结束字符串并加反斜杠(\),下一行重新开始新字符串;多参数则不必如此,只要单个参数输入完毕即可换行输入下一个参数
# (2)使用 int() 与 float() 将参数转为整数/浮点数
# (3)使用控制字符串精度控制 `%.3f` 与 `%.5f`使显示时小数点保留 3 位与 5 位精度
print "It is %d in the form of integer, "\
"and is %.3f in the form of float(3 decimal places) while"\
" %.5f in the form of float(5 decimal places)."% (
int(rawNum),
float(rawNum),
float(rawNum))
从运行脚本的命令行中获取参数[9]
from sys import argv
文件操作[10] [11] [12]
打开文件[10] [12]
键入下述命令,使 Py 脚本打开从命令行参数中获取文件名的文件
from sys import argv
script, srcName = argv
src = open(srcName, '[mode name]')
# 使用 'r'/'w'/'r+'/'a' 来替换 '[mode name]'
# 'r':读
# 'w':写,若在写文件前已有同名文件,则直接覆盖
# 'a' :修改,直接向文件尾部添加内容
# 'r+':读+修改(文件读写指针相互独立,即读指针默认从头开始,写指针默认指向文件尾)
# 例如,假设该脚本名为 openfile.py,与脚本放在同一目录下有一个文件名为 test.txt
# 执行 openfile.py test.txt 到上一句结束后
# 脚本打开 text.txt 并准备对其进行操作
# 此后变量 src 即指代该文件
# 可用该变量对该文件进行读写操作
其他常用读写命令[11] [12]
- 读文件(直到文件尾):
read
,例如# 将 src 指向文件的所有内容以字符串形式赋予变量 srcContent。例如,为 src 开了 'r'/'r+' srcContent = src.read()
- 读取一行:
readline
,例如# 从目前读指针在文件中所处位置开始读取一行 # 以字符串形式赋予变量 srcContent srcContent = src.read()
- 写入:
write
,例如# 例如 something 中已经保存了想要写入文件当前写指针指向位置的内容。例如,为 src 开了 'w'/'r+' # 下述命令将从目前写指针在文件中所处位置开始,往文件中写入 something 中保存的内容 somehting = "I want to test the code." src.write(something)
- 关闭文件:
close
,例如src.close() # 这条命令运行后,在重新指定前,src 不再指向之前指定的文件了,例如 test.txt
与目录有关的文件操作[^14]
首先导入模块os
:
import os
下面记录几个常用函数的操作:
列出目录文件列表
函数 os.listdir(<path>)
:
【输入】字符串 <path>
注意,该函数的输入必须是字符串,因此不能输入/Users/username/Desktop
,而要输入"/Users/username/Desktop"
来替换<path>
【输出】1 个 list,其中的元素与<path>
下的文件名一一对应
【注意】函数不接受包含.
或..
形式的路径(例如./Desktop
是不合法的输入,必须给出绝对路径)
csv输出
模板代码:
import csv
self.log_fields = ['key1', 'key2', 'key3']
self.log_file = open(self.log_filename, 'wb')
self.log_writer = csv.DictWriter(self.log_file, fieldnames=self.log_fields)
self.log_writer.writeheader()
self.log_writer.writerow({
'key1':value1,
'key2':value2,
'key3':value3
})
self.log_file.close()
定义函数[8] [13]
以下代码定义 1 个函数,输出 3 行 Hello, world. 字符串:
def my_first_fun(): #检查(1)有无括弧;(2)有无冒号
print "Hello, world."
def my_second_fun(arg1):
print "%s" % arg1 # 这里如果用 r,将输出 'Hello, world.',即输出字符串带单引号。参数 %r 常用于调试,查看原始数据
def my_third_fun(arg):
print arg
sentence00 = 'Hello, world.'
sentence01 = """Hello, world."""
my_first_fun();
my_second_fun(sentence00)
my_third_fun(sentence01)
# 注意,在 Py 中,即便不加'\n',1 个 print 也会默认输出 1 行
进制转换
可以用 bin()
/oct()
/hex()
将目标数字转换为对应的二进制/八进制/十六进制数字
一些常用库的简介
-
random
:随机数
参考资料
-
Difference in details between “make install” and “make altinstall” ↩
-
鸟哥的 Linux 私房菜(基础学习篇) ↩
网友评论