python进阶之学习笔记_Python学习笔记(7)--进阶知识1

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']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值