模块的使用,文件的打开写入关闭

模块
定义模块
创建tools.py文件,实现了say_hello()函数,say_goodbye()函数
通过上述方法,成果定义tools模块
# tools.py
def say_hello():
    print('hello')

def say_goodbye():
    print('goodbye')
    
导入模块
import math

导入模块中所有内容
from math import pi

导入模块指定内容
from math import *

重命名模块
from math import pow as mathpow
模块的导入
模块导入方法
需将tools放在同一个目录下,方可被搜索到
# 导入tools模块
import tools

调用其中的函数
tools.say_hello()
tools.say_goodbye()


import sys
print(sys.path)

a = sys.path.append('../')
print(a)

input的使用
input接收外部的输入,但输入的为字符串,需转型为数字类型
num = input(':')
num = int(num)

result = 1
for i in range(1,num):
    result = result * i
print(result)


eval函数可以把字符串转换为等值的结果
while True:
    a = input('a:')
    if a == 'break':
        break
	c = eval(a)
	print(c)
文件的打开与写入关闭
打开文件
通过open函数,得到一个file对象,可以对对象进行读写等操作
open重要的三个参数:
	文件路径:指定需要打开的文件的路径
	打开模式:针对不同文件以及不同操作,会有不同的打开模式
	编码:设定打开文件的默认编码
注意:为了安全操作,文件需在使用完毕后,使用close函数进行关闭
f = open('test.txt','r',encoding='utf-8')
print(f.read())
print(type(f))
f.close()

read可以读取文件中的若干文字,参数size,可以指定字符数量
f = open('test.txt','r',encoding='utf-8')
# print(f.read())
s = f.read(5)
p = f.read(8)
print(s)
f.close()

readline可以读取若干字符,但不能换行读取
readlines可以读取多行字符,返回的为列表
f = open('test.txt','r')
s = f.readline(20)
print(s)
f.close()

f = open('test.txt','r')
q = f.readlines()
print(q)


打开二进制文件
参数:
	b:二进制模式,打开二进制文件
    wb:以二进制格式只写模式打开一个文件,会清除原有的内容
    ab:以二进制格式打开一个文件并追加内容,
    rb:以二进制只读模式打开一个文件
f = open('test.png','rb')
print(f.read())
f.close()

将字符串写入文件
w:打开文件进行写入,会清除原有的内容
wb:以二进制格式只写模式打开文件,会清除原有的内容
w+:打开文件进行读写,如果内容存在,会清除原有内容

如:有test.txt文件,包含以下内容:
Hello World
Hello Python
Hello Imooc
请从test.txt文件读取以上内容,并将每一行字符串反转,写入test1.txt文件。

f = open('test.txt','r')
lines = f.readlines()
f1 = open('test1.txt','w')
for line in lines:
    line = line[::-1].strip() + '\n'
    f1.write(line)

f1.close()
f.close()

追加内容
a:打开文件并追加内容,添加到文件尾部
ab:以二进制格式打开文件并追加内容,添加到文件尾部
a+:打开文件并使用追加进行读写
f = open('test.txt','a')
f.write('hello python')
f.close

a方式打开的文件,游标默认在文件尾部,可以通过seek()方法进行改变
0:文件首部
1:当前位置
2:文件尾部
f = open('test.txt', 'a+')
content = f.readlines()
f.seek(0)
content = f.readlines()

将文件内容进行重写追加到文件尾部
f = open('test.txt', 'a+')
f.seek(0)
content = f.readlines()
f.seek(2)
for line in content:
    f.write(line)
f.close()


with方法关闭文件
with关键字对资源进行访问的整合,确保在使用过程中,是否有异常操作,都会执行清理操作
如文件使用后自动关闭等
with open('test.txt','a+') as f:
    f.seek(0)
    contents = f.readlines()
    f.seek(2)
    for content in contents:
        f.write(content)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值