Python中的文件处理函数和模块化设计
发布时间:2023-06-09 12:20:15
Python常用的文件处理函数有open()、close()、read()、write()、seek()等。其中,open()函数用于打开文件并获取一个文件对象,可以指定打开方式、编码格式等参数。例如:
# 打开文件,返回文件对象
file = open('test.txt', 'w', encoding='utf-8')
close()函数用于关闭文件,不过在Python中也可以使用with语句来实现自动关闭文件的功能,如下所示:
# 自动关闭文件
with open('test.txt', 'w', encoding='utf-8') as file:
file.write('Hello, world!')
read()函数用于读取文件内容,可以一次读取整个文件,也可以按行读取。例如:
# 读取整个文件
with open('test.txt', 'r', encoding='utf-8') as file:
content = file.read()
# 按行读取文件
with open('test.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
write()函数用于写入文件,可以在打开文件时指定打开方式为"w"或"a",分别表示写入模式和追加模式。例如:
# 写入文件
with open('test.txt', 'w', encoding='utf-8') as file:
file.write('Hello, world!')
seek()函数用于移动文件指针,以便读取或写入文件的任意位置。例如:
# 移动文件指针
with open('test.txt', 'r', encoding='utf-8') as file:
file.seek(10)
content = file.read()
在Python中,通常将功能相近的代码封装成一个模块,以便复用和维护。在模块中,可以定义变量、函数和类,同时也可以使用其他模块提供的功能。
例如,下面是一个将字符串转换为整数的模块:
"""将字符串转换为整数"""
def string2int(string):
"""将字符串转换为整数"""
result = 0
for c in string:
if c.isdigit():
result = result * 10 + int(c)
return result
if __name__ == '__main__':
# 测试模块功能
print(string2int('123'))
模块中的代码可以通过import语句来引用,例如:
# 引用模块
import convert
# 调用模块中函数
result = convert.string2int('123')
此外,Python还支持在模块中定义主函数,通过__name__变量来判断是否是直接运行该模块。例如:
"""将字符串转换为整数"""
def string2int(string):
"""将字符串转换为整数"""
result = 0
for c in string:
if c.isdigit():
result = result * 10 + int(c)
return result
def main():
"""主函数"""
print(string2int('123'))
if __name__ == '__main__':
# 直接运行模块时,执行main函数
main()
在Python中,模块的文件名必须以.py为后缀,并且与模块名称相同。例如,上面的例子中,模块文件名为convert.py。
