这个代码是希望能使用Shuju实现监听剪贴板上复制的文件夹路径,然后用函数 show_files将文件夹下的所有文件路径保存到txt文件中
现在的问题是,怎么能把监听到的数据Shuju() 的字符串给到倒数第四行 path

import pyperclip
import time
import os
def show_files(all_files):
"""读取path对应文件夹下的所有文件路径"""
file_list = os.listdir(all_files) # 读取并建立文件名列表
for fi in file_list:
fi_d = os.path.join(all_files, fi) # 合并文件名和路径
if os.path.isdir(fi_d): # 判断是否为文件目录
show_files(fi_d)
else:
str = os.path.join(all_files, fi_d)[:-3] + '.ma' + '\n' # [:-3]从路径尾部减几个字符,\n换行
out.writelines(str)
class Shuju():
def Dayin(self):
while True:
# jianting().main()
t = jianting().main()
return (t)
class jianting():
def clipboard_get(self):
"""获取剪贴板数据"""
data = pyperclip.paste()
return data
def main(self):
"""后台脚本:每隔0.2秒,读取剪切板文本,检查有无指定字符或字符串,如果有则执行替换"""
# recent_txt 存放最近一次剪切板文本,初始化值只多执行一次paste函数读取和替换
recent_txt = self.clipboard_get()
while True:
# txt 存放当前剪切板文本
txt = self.clipboard_get()
# 剪切板内容和上一次对比如有变动,再进行内容判断,判断后如果发现有指定字符在其中的话,再执行替换
if txt != recent_txt:
# print(f'txt:{txt}')
recent_txt = txt # 没查到要替换的子串,返回None
return recent_txt
# 检测间隔(延迟0.2秒)
time.sleep(0.2)
if __name__ == '__main__':
Shuju().lihai()
path = r"C:/Users/TAL/Desktop/A" # 目标文件夹路径
out = open(r"C:/Users/TAL/Desktop/A/out.txt", 'w')
show_files(path)
out.close()
| 表头 | 表头 |
| ------ | ------ |
| 单元格 | 单元格 |
| 单元格 | 单元格 |