0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

网络工程师学Python-文件处理

网络技术干货圈 来源:网络技术干货圈 2023-04-27 09:21 次阅读

当涉及到 Python 文件处理时, 我们通常会涉及到文件的读取和写入, 以及文件的操作和处理。

文件读取

Python语言内置了用于操作文件的标准库IO,我们可以通过open()方法读取一个文件。其中, open() 方法提供了许多可选参数,例如文件打开模式、文件编码等信息。这里是一个典型的例子:

withopen('file.txt','r')asfile:
data=file.read()
print(data)

在这个例子中,我们打开了一个 file.txt 文件,用 “r” 模式读取文件,并将结果存储到变量 data 中。 然后我们输出 data 变量的内容。当我们在 with 块中使用 open() 方法时,使用完毕后,open() 方法会自动关闭文件。

文件写入

我们也可以使用 Python 内置的 open() 方法写入文件,以类似于这样的方式存储数据:

withopen('file.txt','w')asfile:
file.write('Hello,World!')

文件操作

在处理文件时,通常需要对已打开的文件执行一些操作。下面列举了一些常用的操作:

文件重命名

使用 os 模块的rename()方法可以重命名文件。

importos

os.rename('old_name.txt','new_name.txt')

文件删除

使用 os 模块的remove()方法可以删除文件。

importos

os.remove('file.txt')

文件判断

使用 os 模块的方法可以判断文件是否存在、是否为目录等。

importos

ifos.path.exists('file.txt'):
print('Fileexists!')
ifos.path.isdir('dir'):
print('Itisadirectory.')

文件列表

使用 os 模块的listdir()方法可以获得文件夹中的所有文件和目录列表。

importos

files=os.listdir('.')
forfileinfiles:
print(file)

数据库读写

我们还可以将数据存储到数据库中作数据备份或者实现数据的持久化等, 因为数据库以表格形式储存数据, 所以Python程序需使用第三方的Python库才能读写数据库。

下面是一个使用 sqlite3 第三方库访问 SQLite 数据库的例子:

importsqlite3

defcreate_table():
conn=sqlite3.connect('test.db')
c=conn.cursor()
c.execute('''CREATETABLECOMPANY
(IDINTPRIMARYKEYNOTNULL,
NAMETEXTNOTNULL,
AGEINTNOTNULL,
ADDRESSCHAR(50),
SALARYREAL);''')
conn.commit()
conn.close()

definsert_data():
conn=sqlite3.connect('test.db')
c=conn.cursor()
c.execute("INSERTINTOCOMPANY(ID,NAME,AGE,ADDRESS,SALARY)
VALUES(1,'Paul',32,'California',20000.00)")
c.execute("INSERTINTOCOMPANY(ID,NAME,AGE,ADDRESS,SALARY)
VALUES(2,'Allen',25,'Texas',15000.00)")
conn.commit()
conn.close()

defselect_data():
conn=sqlite3.connect('test.db')
c=conn.cursor()
cursor=c.execute("SELECTid,name,address,salaryfromCOMPANY")
forrowincursor:
print"ID=",row[0]
print"NAME=",row[1]
print"ADDRESS=",row[2]
print"SALARY=",row[3],"
"
conn.close()

create_table()
insert_data()
select_data()

在这个例子中,我们通过 sqlite3 库打开并创建了一个 SQLite 数据库文件,并利用 SQL 语句创建了一个名为 “COMPANY” 的table。然后我们向这个 table 中插入了两条数据,并从表中查询出所有记录并输出。

这只是 Python 文件处理的一个简单介绍,Python IO 和文件处理操作非常丰富,还有许多其他的操作和方法等待我们探索和使用。建议在实践中结合实际场景来学习,以更好地理解和掌握相关知识。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SQlite
    +关注

    关注

    0

    文章

    78

    浏览量

    15909
  • python
    +关注

    关注

    56

    文章

    4782

    浏览量

    84456

原文标题:网络工程师学Python-25-文件处理

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    华为网络工程师培训教材

    华为网络工程师培训教材
    发表于 08-16 17:27

    华为“网络工程师”培训专用教程

    华为“网络工程师”培训专用教程
    发表于 08-18 15:12

    网络工程师RCNA培训教材(ppt)

    网络工程师RCNA培训教材
    发表于 03-26 09:04 0次下载

    合格的网络工程师必会实验大全

    合格的网络工程师必会实验大全.pdf合格的网络工程师必会实验大全.pdf
    发表于 10-30 17:46 0次下载

    2004-2012网络工程师试题

    2004-2012网络工程师试题是工程师学习通关的必备书籍
    发表于 06-17 16:33 0次下载

    什么是网络工程师

    什么是网络工程师网络工程师就是通过学习和训练,掌握了网络技术的理论知识和操作技能的网络技术人员。网络工程师能够从事计算机信息系统的设计、建
    的头像 发表于 02-19 14:28 7619次阅读

    网络工程师的发展前景如何

    很多朋友是从事网络优化工程师这样的无线网络工程师的岗位,也有一些朋友可能还没有入行,这在忧虑从事网络优化工程师
    的头像 发表于 09-02 15:34 5120次阅读

    网络工程师学Python-for循环

    Python 中,for 循环是一种常用的结构,用于遍历序列(如列表、元组、字符串)中的元素。
    的头像 发表于 04-19 15:47 917次阅读

    网络工程师学Python-函数定义

    Python 中,函数是一段可重复使用的代码块,可以接受一些输入(即函数参数),并根据输入执行某些操作。
    的头像 发表于 04-19 15:49 652次阅读

    网络工程师学Python-继承概念介绍

    Python 中,继承是一种重要的面向对象编程概念。通过继承,我们可以定义一个新的类,它继承了现有类的属性和方法。
    的头像 发表于 04-20 16:56 465次阅读

    网络工程师学Python-迭代器

    迭代器是 Python 中非常重要的概念之一,它是一种对象,可以在代码中按顺序访问一组值。
    的头像 发表于 04-20 16:58 893次阅读

    网络工程师学Python-文件打开

    Python中,可以使用open()内置函数打开文件,以执行一系列文件的操作。在本文中,将介绍Python中打开文件的基础知识及常用的打开
    的头像 发表于 04-27 09:14 625次阅读

    网络工程师学Python-文件删除

    Python 文件删除是 Python 开发中常用的一项操作,本文将针对 Python 中的 os 模块提供多个示例,介绍如何删除不同类型的文件
    的头像 发表于 04-27 09:24 495次阅读

    网络工程师学Python-远程连接管理Telnet

    Python Telnet是一种用于远程连接和管理网络设备的Python库。
    的头像 发表于 04-28 09:47 885次阅读

    网络工程师学Python-多线程技术简述

    Python多线程是一种并发编程的方式,通过使用多个线程在同一时间内执行多个任务
    的头像 发表于 04-28 09:49 528次阅读
    <b class='flag-5'>网络工程师学</b><b class='flag-5'>Python-</b>多线程技术简述