import os # 导入操作系统模块 def create_file(filepath): # 创建文件的函数 """ 该函数用于创建文件 参数: filepath - 文件路径 返回值: 如果创建成功,返回文件路径;否则,打印错误信息 """ if not os.path.exists(filepath): # 如果文件路径不存在 try: with open(filepath, 'w') as file: # 以写入模式打开文件 return filepath # 返回文件路径 except Exception as e: # 捕获异常 print(f'An error occurred:{e}') # 打印错误信息 else: return filepath # 返回文件路径 print('File already exists!') # 这行代码不会被执行,因为已经返回 def read_file(filename): # 读取文件的函数 """ 该函数用于读取文件 参数: filename - 文件名 返回值: 如果读取成功,返回文件内容;否则,打印相应的错误信息 """ try: with open(filename, 'r') as file: # 以读取模式打开文件 readStr = '' # 初始化读取字符串 for line in file: # 遍历文件中的每一行 readStr += line # 将每行内容添加到读取字符串中 readStr += '\r\n' # 添加换行符 return readStr # 返回读取的字符串 except FileNotFoundError: # 捕获文件未找到异常 print(f'文件{filename}不存在') # 打印错误信息 except PermissionError: # 捕获权限不足异常 print(f'没有读取{filename}的权限') # 打印错误信息 except Exception as e: # 捕获其他未知异常 print(f'发生未知的异常:{e}') # 打印错误信息 def write_and_append_content(filename, new_content): """ 该函数用于向文件中写入和添加内容 参数: filename - 文件名 new_content - 要写入和添加的新内容 返回值: 将新内容和原来的内容拼接在一起并返回 """ try: # 读取原来的文件内容 with open(filename, 'r') as file: origial_content = file.read() # 写入新的内容并添加换行符 with open(filename, 'a') as file: file.write('\n' + new_content) # 将新内容和原来的内容拼接在一起并返回 return origial_content + '\n' + new_content except Exception as e: print(f'发生错误{e}') return None def insert_line(filename, line_number, content): """ 该函数用于向文件中插入一行内容 参数: filename - 文件名 line_number - 要插入的行号 content - 要插入的内容 返回值: 更新后的行表 """ try: # 打开文件,读取所有行 with open(filename, 'r') as file: lines = file.readlines() # 检测行号是否有效 if line_number < 1 or line_number > len(lines): print('lnvalid line number') return lines.insert(line_number - 1, content + '\n') # 重新写入文件 with open(filename, 'w') as file: file.writelines(lines) # 更新行表 line_table = [] for i, line in enumerate(lines): line_table.append((i + 1, line.strip())) line_table.sort() # 按行号从小到大排序 # 如果行号大于当前最大行号 if line_number > len(line_table): for i in range(line_number - len(line_table), line_number): line_table.append((i + 1, '')) # 初始化空白行信息 else: line_table = line_table[:line_number] + line_table[line_number:line_number + 1] + line_table[line_number + 1:] line_table[line_number - 1] = (line_number, content) # 更新行的信息 return line_table except FileNotFoundError: print(f'文件{filename}不存在') except PermissionError: print(f'没有读取{filename}的权限') except Exception as e: print(f'发生未知的异常:{e}') def rename_file(old_name, new_name): """ 该函数用于重命名文件 参数: old_name - 原文件名 new_name - 新文件名 返回值: 无 """ try: os.rename(old_name, new_name) print(f'文件{old_name}已成功重命名为{new_name}') except FileNotFoundError: print(f'文件{old_name}不存在') except PermissionError: print(f'没有权限重命名{old_name}') except Exception as e: print(f'发生未知的错误:{e}') if __name__ == '__main__': # 当模块被直接运行时执行以下代码 filename = create_file('张三.txt') # 创建文件并获取文件名 write_and_append_content(filename, 'abc') write_and_append_content(filename, 'def') insert_line('example.txt', 3, 'hello') result = read_file(filename) # 读取文件内容 print(result) # 打印文件内容 rename_file('example.txt', 'text.txt')
需要注意的是:
要在创建的文本中写上要输出的内容