1.
sys模块简介
sys模块提供了一系列有关Python运行环境的变量和函数。
可以通过dir()方法查看模块中可用的方法
(1)sys.argv:实现从程序外部向程序传递参数,获取当前正在执行的命令行参数的参数
变量
解释
sys.argv[0]
当前程序名
sys.argv[1]
第一个参数
sys.argv[0]
第二个参数
列表(list)
%%writefile print_args.py
import sys
print (sys.argv)
使用
writefile将cell中的内容写入文件
运行这个程序:
%run print_args.py 1 foo
第一个参数 (sys.args[0])
表示的始终是执行的文件名,然后依次显示传入的参数。
删除刚才生成的文件
import os
os.remove('print_args.py')
(2)异常消息:ys.exc_info()可以显示Exception的信息,返回一个(type,
value,
traceback)组成的三元组,可以与try/catch块一起使用
try:
x =
1/0
except Exception:
print(sys.exc_info())
sys.exc_clear()用于清除所有的异常消息
(3) Python
Path:sys.path表示
Python搜索模块的路径和查找顺序
获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。在import导入module_name时,就是根据sys.path的路径来搜索module.name,也可以自定义添加模块路径。 sys.path.append(“自定义模块路径”)
(4)操作系统信息:sys.platform显示当前操作系统信息;
sys.getwindowsversion()返回Windows操作系统的版本
(5)Python版本信息:sys.version;
sys.version_info
2.
os模块简介
os模块提供了对系统文件进行操作的方法
(1)文件路径操作
·os.remove(path)或os.unlink(path):删除指定路径的文件。路径可以是全名,也可以是当前工作目录下的路径。
·os.removedirs:删除文件,并删除中间路径中的空文件夹
·os.chdir(path):将当前工作目录改变为指定的路径
·os.getcwd():返回当前的工作目录
·os.curdir:表示当前目录的符号
·os.rename(old,
new):重命名文件
·os.renames(old,
new):重命名文件,如果中间路径的文件夹不存在,则创建文件夹
·os.listdir(path):返回给定目录下的所有文件夹和文件名,不包括'.'和'..'以及子文件夹下的目录。('.'和'..'分别指当前目录和父目录)
·os.mkdir(name):产生新文件夹
·os.makedirs(name):产生新文件夹,如果中间路径的文件夹不存在,则创建文件夹
产生文件:
f = open("test.file", "w")
f.close()
print ("test.file" in os.listdir(os.curdir))
重命名文件:
os.rename("test.file", "test.new.file")
print ("test.file" in os.listdir(os.curdir))
print ("test.new.file" in
os.listdir(os.curdir))
删除文件:
os.remove("test.new.file")
(2)系统常量
当前操作系统的换行符:
# windows为
\r\n
os.linesep
当前操作系统的路径分隔符:
os.sep
当前操作系统的环境变量中的分隔符(';'或':'):
os.pathsep
3. csv模块简介
标准库中有自带的csv(逗号分隔值)模块处理csv格式的文件:
import csv
(1)读
csv文件
%%file data.csv
"alpha 1", 100, -1.443
"beat
3", 12, -0.0934
"gamma 3a", 192, -0.6621
"delta 2a", 15, -4.515
打开这个文件,并产生一个文件 reader
import csv
fp = open("data.csv")
r = csv.reader(fp)
可以按行迭代数据:
for row in r:
print (row)
fp.close()
默认数据内容都被当作字符串处理,不过可以自己进行处理:
data = []
with open('data.csv') as fp:
r =
csv.reader(fp)
for
row in r:
data.append([row[0],int(row[1]),
float(row[2])])
data
读取csv文件用reader
import csv
with open("test.csv","r") as csvfile:
reader = csv.reader(csvfile)
#这里不需要readlines
for
line in reader:
print (line)
(2)写
csv文件
最常用的一种方法,利用pandas包
import pandas as pd
#任意的多组列表
a = [1,2,3]
b = [4,5,6]
#字典中的key值即为csv中列名
dataframe =
pd.DataFrame({'a_name':a,'b_name':b})
#将DataFrame存储为csv,index表示是否显示行名,default=True
dataframe.to_csv("test.csv",index=False,sep=',')
另一种方法用csv包,一行一行写入
import csv
#python2可以用file替代open
with open("test1.csv","w") as csvfile:
writer = csv.writer(csvfile)
#先写入columns_name
writer.writerow(["index","a_name","b_name"])
#写入多行用writerows
writer.writerows([[0,1,3],[1,2,3],[2,3,4]])
(3)numpy.loadtxt()和pandas.read_csv()可以用来读写包含很多数值数据的csv文件:
%%file trades.csv
Order,Date,Stock,Quantity,Price
A0001,2013-12-01,AAPL,1000,203.4
A0002,2013-12-01,MSFT,1500,167.5
A0003,2013-12-02,GOOG,1500,167.5
使用pandas进行处理,生成一个DataFrame对象:
import pandas
df = pandas.read_csv('trades.csv', index_col=0)
print (df)
通过名字进行索引:
df['Quantity'] * df['Price']