python 读取并复制txt文件
# -*- coding:utf-8 -*-
# 将文件:F:\python\html\index.html 复制到 F:\python\file\index.html下
# 按行读取文件内容,并将结果返回到列表中
def readFileAsLine(file_name):
print(">>>>>复制的源文件是:", file_name, "<<<<<")
read_list = [] # 创建空列表用于保存读取到的内容
try:
f = open(file_name, "r") # 只读模式打开
read_data = f.read() # 读取到的数据
while True:
if read_data: # 只要有能读到的数据,就执行以下的代码
read_list.append(read_data) # 将读到的内容加入之前创建的空列表
try:
f.next()
except:
print(">>>>>读取到文件:【", file_name, "】最后一行<<<<<")
break
else:
break
except Exception as e: # 如果上述try内的程序有问题,则执行以下程序
# 访问异常的错误编号和详细信息
#print(e.args)
print(str(e)) # 显示错误的内容
#print(repr(e))
print(">>>>>文件:【", file_name, "】不存在<<<<<")
finally:
if f: #如果打开用来读取的文件没关闭,则关闭该文件
f.close()
return read_list
# 将读取到的文件内容写入到待操作的文件目录
def writeContenToFile(read_list, file_name):
print(">>>>>等待写入的文件名称是:【", file_name, "】<<<<<")
try:
f = open(file_name, "a") # 打开目标文件,向里面写入内容,如果是w则是覆写,如果没有目标文件则会自动创建
for i in read_list: # 遍历保存读取内容的列表,向目标文件内依次写入
f.write(i)
except:
print(">>>>>文件:【", file_name, "】不存在<<<<<")
finally:
if f:
f.close()
# 待操作的文件
file_name = "C:\\Users\\LG\\Desktop\\1.txt"
# 读取文件内容
read_file = readFileAsLine(file_name)
for i in read_file:
print(i)
# 待写入的文件
desc_file = "C:\\Users\\LG\\Desktop\\ab\\1.txt"
# 操作写入
writeContenToFile(read_file, desc_file)
参考:
python读取文件并复制文件_guxuhua123_01的博客-CSDN博客
https://blog.csdn.net/guxuhua123_01/article/details/81011775
这里再附上查询文件夹内文件名及其路径的方法:
#首先导入os库
import os
def print_directory_contents(sPath):
#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。
#只支持在 Unix, Windows 下使用。
for sChild in os.listdir(sPath):
#os.path.join(path1,path2,...)用于路径拼接文件路径
sChildPath=os.path.join(sPath,sChild)
#os.path.isdir()函数判断是否为文件夹,是文件夹返回True.
if os.path.isdir(sChildPath):
print_directory_contents(sChildPath)
else:
print(sChildPath)
path = 'C:\\Users\\LG\\Desktop\\c# learn'
print_directory_contents(path)
参考:
https://blog.csdn.net/qq_24816993/article/details/81904280
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了