python练习题(二)
文件操作
1.读取一个文本文件,打印文件内容到控制台。
def print_file_content(file_path):
try:
with open(file_path, 'r') as file:
content = file.read()
print(content)
except Exception as e:
print(f"没有找到文件:{e}")
# 读取并打印文件内容
file_path = '1.txt'
print_file_content(file_path)
file_path = '1.txt' # 请替换为你的文件路径
lines_list = []
try:
with open(file_path, 'r') as file:
lines_list = file.readlines()
except FileNotFoundError:
print(f"File '{file_path}' not found.")
# 打印读取到的每行内容列表
print(lines_list)
def count_words(file_path):
word_count = 0
try:
with open(file_path, 'r') as file:
for line in file:
# 使用空格拆分每行为单词
words = line.split()
word_count += len(words)
except Exception as e:
print(f"出错啦:{e}")
return word_count
# 统计单词数
file_path = '1.txt'
total_words = count_words(file_path)
print(f'这个文件有: {total_words} 个单词')
def write_user_input_to_file(file_path):
try:
# 接受用户输入
user_input = input("给文件写入内容: ")
# 写入用户输入到文件
with open(file_path, 'w') as file:
file.write(user_input)
print("输入内容已经写入成功")
except Exception as e:
print(f"写入失败{e}")
# 获取要写入的文件路径
file_path = '1.txt'
# 调用函数将用户输入写入文件
write_user_input_to_file(file_path)
def append_text_to_file(file_path, text_to_append):
"""
:param file_path:
:param text_to_append:
:return:
"""
try:
# 打开文件以追加模式
with open(file_path, 'a') as file:
# 追加文本到文件末尾
file.write(text_to_append + '\n')
print("文件追加完成")
except Exception as e:
print(f"An error occurred: {str(e)}")
# 获取要追加的文件路径和文本
file_path = '1.txt'
text_to_append = "您好"
# 调用函数追加文本到文件
append_text_to_file(file_path, text_to_append)
import datetime
def append_datetime_to_log(file_path):
"""
:param file_path:
:return:
"""
try:
# 获取当前日期和时间
current_datetime = datetime.datetime.now()
formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S")
# 打开文件以追加模式
with open(file_path, 'a') as file:
# 追加日期和时间到文件末尾
file.write("Current datetime: " + formatted_datetime + '\n')
print("Datetime appended to the log.")
except Exception as e:
print(f"报错了:{e}")
# 获取要追加的日志文件路径
log_file_path = '1.txt' # 请替换为你的日志文件路径
# 调用函数追加当前日期和时间到日志文件
append_datetime_to_log(log_file_path)
7.重命名一个文件为指定的新文件名。
import os
def rename_file(old_file_path, new_file_name):
"""
:param old_file_path:
:param new_file_name:
:return:
"""
try:
# 从旧文件路径中获取文件所在目录
directory = os.path.dirname(old_file_path)
# 构建新文件的完整路径
new_file_path = os.path.join(directory, new_file_name)
# 重命名文件
os.rename(old_file_path, new_file_path)
print(f"修改文件名: {new_file_path} 成功!")
except Exception as e:
print(f"出错了: {e}")
# 获取要重命名的文件路径和新文件名
old_file_path = '1.txt'
new_file_name = 'new_filename.txt'
# 调用函数重命名文件
rename_file(old_file_path, new_file_name)
import os
def rename_file(old_file_path, new_file_name):
"""
:param old_file_path:
:param new_file_name:
:return:
"""
try:
# 从旧文件路径中获取文件所在目录
directory = os.path.dirname(old_file_path)
# 新文件的完整路径
new_file_path = os.path.join(directory, new_file_name)
# 重命名文件
os.rename(old_file_path, new_file_path)
print(f"文件命名为: {new_file_path} 成功!")
except Exception as e:
print(f"出错啦: {e}")
# 获取要重命名的文件路径
old_file_path = 'new_filename.txt'
# 获取用户输入的新文件名
new_file_name = input("输入新的文件名称: ")
# 调用函数重命名文件
rename_file(old_file_path, new_file_name)
import os
def delete_file(file_path):
"""
:param file_path:
:return:
"""
try:
# 删除指定文件
os.remove(file_path)
print(f"文件 '{file_path}' 已经删除成功!")
except Exception as e:
print(f"An error occurred: {str(e)}")
# 获取要删除的文件路径
file_to_delete = 'example.txt'
# 调用函数删除文件
delete_file(file_to_delete)
import os
def delete_all_files_in_folder(folder_path):
"""
:param folder_path:
:return:
"""
try:
# 获取文件夹中所有文件
files = os.listdir(folder_path)
# 遍历并删除所有文件
for file in files:
file_path = os.path.join(folder_path, file)
os.remove(file_path)
print(f"文件'{file}'已经删除成功!")
print("所有文件删除成功!")
except Exception as e:
print(f"出错啦: {e}")
# 获取要删除文件的文件夹路径
folder_path = 'demo'
# 调用函数删除文件夹中的所有文件
delete_all_files_in_folder(folder_path)
import os
def delete_file(file_path):
"""
:param file_path:
:return:
"""
try:
# 检查文件是否存在
if not os.path.exists(file_path):
raise FileNotFoundError(f"文件'{file_path}'没有找到!")
# 删除指定文件
os.remove(file_path)
print(f"文件'{file_path}'已经被删除!")
except Exception as e:
print(f"出错了: {e}")
# 获取要删除的文件路径
file_to_delete = '1.txt'
# 调用函数删除文件
delete_file(file_to_delete)
import os
def delete_file_if_exists(file_path):
try:
# 检查文件是否存在
if os.path.exists(file_path):
os.remove(file_path)
print(f"文件'{file_path}'已经被删除")
else:
print(f"文件'{file_path}'不存在!")
except Exception as e:
print(f"出错了: {e}")
# 获取要删除的文件路径
file_to_delete = '1.txt'
# 调用函数删除文件(如果存在)
delete_file_if_exists(file_to_delete)
def copy_file_without_shutil(source_file, destination_file):
try:
# 打开源文件进行读取
with open(source_file, 'rb') as source:
# 打开目标文件进行写入
with open(destination_file, 'wb') as destination:
# 逐块读取源文件并写入到目标文件
while True:
chunk = source.read(1024) # 读取 1KB 的数据
if not chunk:
break
destination.write(chunk)
print(f"文件'{source_file}'已经复制成 '{destination_file}'.")
except Exception as e:
print(f"出错了: {e}")
# 源文件路径和目标文件路径
source_file_path = 'x.txt'
destination_file_path = 'y.txt'
# 调用函数复制文件
copy_file_without_shutil(source_file_path, destination_file_path)
def merge_files(file1_path, file2_path, merged_file_path):
"""
:param file1_path:
:param file2_path:
:param merged_file_path:
:return:
"""
try:
with open(file1_path, 'r') as file1, open(file2_path, 'r') as file2:
# 读取第一个文件内容
file1_content = file1.read()
# 读取第二个文件内容
file2_content = file2.read()
# 合并内容
merged_content = file1_content + '\n' + file2_content
# 写入到新文件
with open(merged_file_path, 'w') as merged_file:
merged_file.write(merged_content)
print(f"文件 '{file1_path}' 和 '{file2_path}' 合并为 '{merged_file_path}'成功!")
except Exception as e:
print(f"出错了: {e}")
# 文件1路径和文件2路径
file1_path = '1.txt'
file2_path = '2.txt'
# 合并后的新文件路径
merged_file_path = '3.txt'
# 合并文件
merge_files(file1_path, file2_path, merged_file_path)

浙公网安备 33010602011771号