在学python的学习路上做个小笔记。

目录

        一、文件的基本操作
        二、文件流
        三、文件目录操作
        四、模块和包

文件的基本操作

打开文件

        在Python中,使用内置函数open()进行文件的一些读写操作
        文件操作的格式:
         open(文件路径,访问模式,字符编码)  前面两个参数是必备参数,后面的字符编码是选填,但是大多数情况下都是会写上字符编码
        访问模式
        r             只读         打开文件进行读取,如果文件不存在则报错。
        w           只写        打开供追加的文件,如果不存在则创建该文件。
        a            追加         打开文件进行写入,如果文件不存在则创建该文件。
        b            二进制文件 

        t            文本模式
        +           更新

读取文件

        read()  读取文件中全部内容,返回一个字符串
        readline()  读取文件中一行的内容,返回一个字符串
        readlines() 读取文件中的所有内容,返回一个列表,并且文件中每一行是列表中的一个元素

        例如:

1 = open ("test.txt","r")

写入/创建文件

        write: 写入单行内容,每次只可以接受一个参数,且只能是字符串

        例如:文件名.write("")

1.write("hello world")

        writelines:写入多行内容,且在括号中用中括号[]包裹,元素用逗号隔开,向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符

        例如:文件名.writelines("[]")

1.writelines([" \nnihao"])#\n是换行符

        x           创建         创建指定的文件,如果文件存在则返回错误。

w+ : 打开文件,如果文件存在,会将文件删除后新建,不存在则直接新建,使用+号后,可以进行读取
r+ : 读取文件不会被清空,而且光标在最前面,使用+号后,可以写入新的内容
a+ : 文件打开后,光标在最后面,并有文件中原有的内容

删除文件

import os    #os删除模块
os.rmdir("文件名")

关闭文件

        通常操作完文件后,可以进行对应的关闭使用   close() 

        例如:

f = open('./a.txt','r',encoding='utf-8')
# print(f.read())
# print(f.readline())
print(f.readlines())  # 文件中如果有换行,就会转移为\n,与内容一起成为列表的元素
f.close()  # 使用完文件进行关闭
#绝对路径:以盘符开头逐层写路径的是绝对路径 
#相对路径:以当前文件目录为起点编写路径 ./代表当前目录 ../代表上层目录,注意:不写./时默认为当前目录

文件流

导入io包  : import io
StringIO()   生成字符串临时文件
BytesIo()    生成二进制临时文件
getvalue()   获取这个临时文件中保存的所有内容

        例如:

import io
# 创建一个字符串临时文件
str_io = io.StringIO()
str_io.write('这是写入字符串临IO流中的内容')
# 获取临时文件中的数据->虚拟文件
print(str_io.getvalue())

# 创建一个二进制临时文件
byte_io = io.BytesIO()
byte_io.write(b'this is bytesData')  # 在引号前面加个b,代表这个是二进制数据字节
print(byte_io.getvalue())

文件目录操作

import os #os模块
os.getcwd()  #获取当前目录路径
os.chdir()   #改变当前所有路径(切换路径)
os.listdir() #获取目录列表,默认获取的是当前目录
os.mkdir('') #创建文件夹
os.rename('','') #文件夹重命名,也支持文件重命名,前面为文件夹之前的名字,后面为新文件夹名
os.makedirs    #创建多层目录
os.remove    #移除文件
os.rmdir    #删除目录
os.removedir    #删除多层目录
os.system("cmd")    #调用系统命令
os.walk    #遍历文件夹
os.path    #路径操作

模块和包

        Python有一个可用于制作随机数的内建模块。random模块有一组如下的方法:

Python文件操作-LMLPHP

        Python还有其它模块,如下:

  • os:提供了丰富的函数操作文件和目录,例如:os.remove()删除文件,os.rename()重命名文件,os.walk()生成目录树下的所有文件,os.system()执行shell命令等。

  • sys:用于操作Python运行时的环境,例如:sys.path返回模块的搜索路径,sys.argv返回命令行参数列表等。

  • json:用于字符串的序列化和反序列化,例如:json.dumps()将Python对象编码成JSON字符串,json.loads()将JSON字符串解码成Python对象。

  • re:用于字符串的正则表达式操作,例如:re.match()匹配字符串的开始,re.search()搜索字符串,re.findall()找到所有匹配的字符串,re.sub()替换字符串中的匹配项。

  • datetime:用于操作日期和时间,例如:datetime.datetime.now()获取当前时间,datetime.timedelta()表示两个日期或时间之间的差。

  • math:提供了基本的数学运算函数,例如:math.sqrt()计算平方根,math.log()计算自然对数。

  • random:用于生成随机数,例如:random.random()生成0到1之间的随机浮点数,random.randint()生成指定范围内的随机整数。

  • collections:提供了一些容器数据类型,例如:collections.Counter()用于计数,collections.defaultdict()用于创建带有默认值的字典。

  • urllib:用于操作URL,例如:urllib.request.urlopen()打开一个URL,urllib.parse.urlencode()将字典编码成URL参数。

  • logging:用于记录日志信息,例如:logging.basicConfig()设置日志的基本配置,logging.info()记录信息等级的日志。

  • numpy:用于科学计算的模块,提供了多维数组对象和复杂的函数,例如:numpy.array()创建数组,numpy.dot()计算数组的点积。

  • pandas:用于数据分析的模块,提供了强大的数据结构DataFrame和Series,以及对数据进行分析的函数。

  • requests:用于发送HTTP请求的模块,例如:requests.get()发送GET请求,requests.post()发送POST请求。

  • selenium:用于自动化Web浏览器的模块,可以用来进行网页的自动化测试和网页爬虫。

  • smtplib:用于发送邮件,例如:smtplib.SMTP()初始化SMTP服务器的连接,smtplib.SMTP.sendmail()发送邮件。

  • email:用于处理邮件的模块,提供了邮件对象,例如:email.message.EmailMessage()创建邮件对象,email.encoders.encode_base64()对邮件进行编码。

  • sqlite3:用于操作SQLite数据库的模块,例如:sqlite3.connect()连接数据库,sqlite3.Cursor()创建游标对象。

  • pymysql:用于连接MySQL数据库的模块,例如:pymysql.connect()连接MySQL数据库,pymysql.cursors.DictCursor()创建字典游标。

  • pymongo:用于连接MongoDB数据库的模块,例如:pymongo.MongoClient()连接MongoDB,pymongo.database.

04-26 05:12