python怎么取固定格式文件

技术python怎么取固定格式文件python怎么取固定格式文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。环境:这几天在使用python开发程序的过程中

我相信很多没有经验的人对于如何在python中获取固定格式的文件无能为力。因此,本文总结了出现问题的原因和解决方法,希望大家可以通过这篇文章来解决这个问题。

环境:这几天用python开发程序的过程中,需要连接mysql数据库,涉及到不同的服务器,不同的数据库。在早期阶段,您使用测试套装进行测试,并且不希望在python程序中频繁更改数据库的配置信息。因此,您希望将所有数据库配置写入db.conf文件中进行读取,这也是基于安全考虑。

于是我写了一个基于固定格式的文件读取程序,案例如下。

测试文件内容:

标题1

1,第1行

2,第2行

3,第3行

标题2

4,第4行

5,第5行

第6行,第6行

标题3

7,第7行

8,第8行

9.第9行程序文件:

defopen_file(文件名,模式='r'):

'''

:paramfilename:

:参数模式:

:return:返回文件句柄。

'''

尝试:

文件=打开(文件名,模式)

异常错误:

打印“未勒出打开文件”,文件名

sys.exit(0)

else:

返回文件

defnext_line(the_file):

'''

:paramthe_file:

:return:读取一行文件内容。

'''

line=the_file.readline()

返回线

defnext_block(the_file):

'''

:paramthe_file:

:return:读取指定格式的内容。

'''

标题=下一行(文件)

# cg=下一行(文件)

内容=[]

for range(3): # 3是文件内容中的行数。

content . append(next _ line(the _ file))

返回标题,内容

my_file=open_file('1.txt ',' r ')

a=raw _ input(' enteryouname : ')#可以作为函数中的变量调用,这里只用于测试。

foriirange(3): # 3是格式内容的段数。

tit=next_block(我的文件)

ifa==tit[0]。长条(' \n'):

打印“TITLEIS:”,标题[0]

forjinrange(3):

print'content ',(j 1),' is: ',tit[1][j]。条带(' \n ')

破裂

else:

打印“不存在”

Exit(0)这样就可以根据需要获取我的数据库配置信息,只需要将title放入python程序中就可以删除对应的数据库连接信息。

[测试]

用户:root

密码:123456

db_name:study

主机:127.0.0.1

端口:3306

charset:utf8

[mysql]

用户:root

密码:123456

db_name:wwwsite

主机:127.0.0.1

端口:3306

charset:utf8

看完以上,你知道python是怎么得到固定格式文件的吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道。感谢阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/52409.html

(0)

相关推荐

  • 引擎ECS框架中system的语法糖是怎么实现的

    技术引擎ECS框架中system的语法糖是怎么实现的引擎ECS框架中system的语法糖是怎么实现的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。集(B

    攻略 2021年11月24日
  • 使用SPM固定执行计划

    技术使用SPM固定执行计划 使用SPM固定执行计划使用SPM固定执行计划
    2 YEARS AGOORACLEVIEWED56TIMES.数据库在运行过程中,会由于各种原因的变化,存在执行计划不稳定的情况

    礼包 2021年11月19日
  • docker 多个环境装在一个镜像内(docker如何编辑已经构建好的镜像)

    技术Docker镜像怎么做到一次构建,到处运行这篇文章主要介绍“Docker镜像怎么做到一次构建,到处运行”,在日常操作中,相信很多人在Docker镜像怎么做到一次构建,到处运行问题上存在疑惑,小编查阅了各式资料,整理出

    攻略 2021年12月13日
  • leetcode怎么删除排序链(leetcode 删除数组元素)

    技术LeetCode如何删除链表中指定的所有元素这篇文章主要为大家展示了“LeetCode如何删除链表中指定的所有元素”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“LeetC

    攻略 2021年12月15日
  • 数据库tempdb已满(tempdb数据库空间不足)

    技术为什么无法为数据库 tempdb中的对象分配空间本篇文章为大家展示了为什么无法为数据库 tempdb中的对象分配空间,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。错误描述消息

    攻略 2021年12月14日
  • 如何利用C++ OpenCV 实现从投影图像恢复仿射特性

    技术如何利用C++ OpenCV 实现从投影图像恢复仿射特性如何利用C++ OpenCV 实现从投影图像恢复仿射特性,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易

    攻略 2021年11月29日