python存文件到文件夹中_保存指定文件夹下的目录和文件名到文件中 Python 脚本 | 学步园...

真是倒霉,刚买不久的移动硬盘,昨天删除一个分区失败后,几个分区都不见了,拿去修,未果

换了个新的,但其中数据全没了。那是我平时收集的很有用的资料

很多都可以重新下载,但怎能想起硬盘中的所有东西

今天换硬盘回来

就像写一个保存指定路径下所有文件夹和文件名的程序

这样,如果东西丢了,看看那里有些什么,也可聊以告慰

#filesindir.py for files in directory

#result is a txt file with the name of the directory to record

#cmd:filesindir.py "dirname"

# result will be stored in the directory

#or cmd:filesindir.py "dirname" "directory to store the result"

import os

import os.path

import sys

def dirparser(directory,indent,file):

try:

dirlist=os.listdir(directory)

dirli=[]

for i in dirlist:

if(os.path.isdir(directory+'//'+i)==True):

dirli.append(directory+'//'+i)

else:

for ind in range(indent):

file.write(' ')

file.write(i+'/n')

for dir in dirli:

for ind in range(indent):

file.write(' ')

indent+=1

file.write(dir+'/n')

dirparser(dir,indent,file)

indent-=1

except:

file.write(' !!!Access denied/n')

return

if __name__ == "__main__":

argc=len(sys.argv)

dir2rec=''

dir2pla=''

if(argc==1):

print("the command is used like this :")

print(" filesindir.py /"dirname/"")

print(" filesindir.py /"dirname/" /"directory to store the result/"")

sys.exit(0)

elif(argc==2):

dir2rec=sys.argv[1]

dir2pla=sys.argv[1]

else:

dir2rec=sys.argv[1]

dir2pla=sys.argv[2]

indent=0

file=open(dir2pla+'//'+'filesindir.txt','w')

file.write('files in '+dir2rec+' :/n/n')

dirparser(dir2rec,indent,file)

file.close()

print('Done')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Python的os和shutil模块来实现这个任务。下面是一个示例代码: ```python import os import shutil def get_files_with_specific_name(directory, file_name, output_directory): # 获取目录下的所有文件夹 subdirectories = [name for name in os.listdir(directory) if os.path.isdir(os.path.join(directory, name))] for subdirectory in subdirectories: # 构建当前子文件夹的完整路径 subdirectory_path = os.path.join(directory, subdirectory) # 获取当前子文件夹下的所有文件 files = [name for name in os.listdir(subdirectory_path) if os.path.isfile(os.path.join(subdirectory_path, name))] # 寻找指定文件名文件并复制到输出目录 for file in files: if file == file_name: output_subdirectory = os.path.join(output_directory, subdirectory) os.makedirs(output_subdirectory, exist_ok=True) # 创建输出子文件夹 source_file = os.path.join(subdirectory_path, file) destination_file = os.path.join(output_subdirectory, file) shutil.copy(source_file, destination_file) print(f"已复制文件: {file} 到目录: {output_subdirectory}") # 指定目录和输出目录 directory = 'path/to/directory' output_directory = 'path/to/output_directory' file_name = 'example.txt' # 指定文件名 # 调用函数获取指定文件名文件保存指定文件夹 get_files_with_specific_name(directory, file_name, output_directory) ``` 在上面的示例代码,你需要将`directory`替换为你想要搜索的目录路径,将`output_directory`替换为你想要保存指定文件名文件目录路径,将`file_name`替换为你想要获取的特定文件名。代码会遍历指定目录下的所有文件夹,并将符合指定文件名文件复制到指定的输出目录的子文件夹。 请确保在运行代码之前已经安装了必要的模块(os、shutil),并将目录路径和文件名替换为你自己的实际路径和文件名

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值