Python语法速查3

Python语法速查1
Python语法速查2

引言

本文仅作为学习python记录之用,如有错误,还望指出,谢谢。
主要参考书籍为《python从入门到实践》
编译器采用百度飞桨提供的在线编译平台及本地所搭建的Pycharm环境

10、模块

首先需要说明的是,python 所使用的模块,与C/C++所采用的.C .H文件类似,主要作用是为了将繁杂的工程化繁为简,以多个独立模块组合的方式进行框架搭建。

模块:类似 .py,.pyc, .pyd ,.so,*.dll 这样的文件,是 Python 代码载体的最小单元。

一般采用import关键字进行引用,用法如下

#导入car.py模块的整个内容
import car
#导入paddle.py模块中的fluid类,并将其重命名为fluid,调用这个类时
#就可以直接使用fluid.layers,如果不采用as,调用方法则为paddle.fluid.layers
import paddle.fluid as fluid

from ElectricCar import car

x1 = fluid.layers.fill_constant(shape=[2, 2], value=1, dtype='int64')
x2 = fluid.layers.fill_constant(shape=[2, 2], value=1, dtype='int64')
y1 = fluid.layers.sum(x=[x1, x2])
print(y1)

#导入模块后,直接调用模块中的类
my_new_car = ElectricCar('audi','a4',2017)
print(my_new_car.get_descriptive_name())

#这里的car.Car指的是car.py 的 Car类
#你也可以直接使用Car这个类,就像上两行
my_old_car = car.Car('BYD','汉',2020)
print(my_old_car.get_descriptive_name())

参考资料:1、https://www.cnblogs.com/wongbingming/articles/11755743.html
2、https://www.runoob.com/python/python-modules.html
3、https://blog.csdn.net/qq_30815237/article/details/93203934
4、https://blog.csdn.net/weixin_38256474/article/details/81228492

11、文件读写

11.1、open函数

读取根目录下的文件
open函数接收一个参数,即要打开的文件名称,在无明确说明的情况下,python默认在当前工程的根目录下进行查找。
如下程序所示,open(‘1pi.txt’)返回一个表示文件‘1pi.txt’的对象,后将其储存到对象中,我们再使用read函数进行读取其中的内容。
Tip:这里使用with关键字是因为其可以再不需要访问文件后自动将其关闭,节省系统资源。相较以往需要使用open()+close()组合而言,无需手动关闭文件的这种方式更加简便。

with open('1pi.txt') as file_object:
    contents = file_object.read()
    print(contents)

读取指定路径的文件
对于不在当前工程根目录的文件而言,我们需要提供具体的文件路径——绝对路径,python才能找到它。

Tip:有关正斜杠(/)与反斜杠(\)的问题,可参考这篇博客
对于此种情况,可以在路径前加上一个‘r’,表明取消(\)在字符串中的转义功能。

以下代码使用相对路径,当相对路径行不通时,可采取绝对路径。

with open('Desktop/2pi.txt') as file_object:
    contents = file_object.read()
    print(contents)
with open(r'Desktop\2pi.txt') as file_object:
    contents = file_object.read()
    print(contents)

逐行读取
通过下面第一个程序可以看出,我们可以通过循环语句对文本进行访问,并且每次访问一行。

Tip:需要注意的是,在文本中的末尾,均会有一个换行符,而在使用print语句时也会再加上一个换行符,所以我们需要消除这些多余的空白行,于是可以再print语句中使用rstrip()语句。

filename='1pi.txt'
with open(filename) as t:
    for line in  t:
        print(line.rstrip())

输出结果:

1234567890
xsadsaxeasd
adwa12ddsa
xeawxa

将文本的各行存入列表lines中,再进行读取

filename='1pi.txt'
with open(filename) as t:
    lines=t.readlines()
    print(lines)
    
for line in lines:
    print(line.rstrip())

输出结果

['1234567890\n', 'xsadsaxeasd\n', 'adwa12ddsa\n', 'xeawxa']

1234567890
xsadsaxeasd
adwa12ddsa
xeawxa

写入文件(覆盖)
在python中进行文件读写时,默认以只读的方式®打开文件,如果需要写入数据,需要如下程序所示,输入open函数的第二个实参,该实参有四种:只读模式(r)、写入模式(w)、附加模式(a)、读写均可模式(r+)
另外需要注意的是,当写入的文件不存在时,open函数将自动创建它,当选择以写入模式打开文件时,python会在返回文件对象前清空该文件的内容。

filename='1pi.txt'
with open(filename,'w') as t:
    t.write('i love python')
with open(filename) as t:
    for line in  t:
        print(line.rstrip())

输出结果:
’i love python‘

如果需要写入多行文件,一定要记得在每行末尾添加换行符,否则写入的文件将以无换行符的形式保存。

filename='1pi.txt'
with open(filename,'w') as t:
    t.write('i love python\n')
    t.write('i love c\n')
with open(filename) as t:
    for line in  t:
        print(line.rstrip())

输出结果:

i love python
i love c

写入文件(添加)
根据以上代码我们可以得知,当open函数的形参设置为(w)时,每次写入新的数据均会覆盖原有数据。而附加模式(a)就可在已有文件的末尾进行添加,而不会覆盖原文件

filename='1pi.txt'
with open(filename,'a') as t:
    t.write('and you?\n')
with open(filename) as t:
    for line in  t:
        print(line.rstrip())

输出结果:

i love python
i love c
and you?

11.2、json格式储存数据(留坑)

参考资料:https://www.runoob.com/python/python-files-io.html

12、Notebook

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值