import os
import shutil
#桌面地址换成你自己的
def test_file(filepath,desk=r“C:\USER\Administrator\桌面”):
filepath = os.path.join(filepath)
desk = os.path.join(desk)
flag = False
with open(filepath,"r") as r:
for i in r:
if 'undefined' in i:
flag = True
break
if flag:
os.remove(filepath)
else:
shutil.move(filepath,desk)
有一个分词功能的库,可以去使用
import os
import shutil
b = 0
file_path = r"文件目录,包含文件名"
with open(file_path, "r+", encoding='utf-8') as f:
a = f.readlines()
for line in a:
if str(line).find('undefined') != -1:
b = 1
break
f.close()
if b == 1:
shutil.move(file_path, r"C:\Users\26474\Desktop") #改成你的桌面路径
else:
os.remove(file_path)
注意更改路徑時, 雙反斜\ \的使用
# 檢查文件內容, 在包含特定字段時, 刪除文件, 在不包含時, 移動文件到指定位置
import os
import shutil
import csv
import send2trash
# 定義待查找字段, 文件所在路徑, 移動後路徑
str_check = "undefined"
dir_path = "C:\\Users\\34513\\Desktop\\csv文件數據可視化" # 待處理的文件夾
dest_path = "C:\\Users\\34513\\Desktop" # 改爲你的桌面路徑
# 讀取文件列表
file_list = os.listdir(dir_path)
# 檢查所有.csv格式文件
for f in file_list:
if f.endswith(".csv"):
with open(dir_path + "\\" + f, encoding="utf-8") as file_obj: # 設定編碼格式, 以免格式錯誤
reader = csv.reader(file_obj)
# 將文件內容連成長字符串
file_text = ""
for row in reader:
file_text += "".join(row)
# 檢查目標字符串
if str_check in file_text:
print("刪除文件: " + dir_path + "\\" + f)
send2trash.send2trash(dir_path + "\\" + f) # 刪除到回收站
else:
print("移動文件: " + dir_path + "\\" + f)
shutil.move(dir_path + "\\" + f, dest_path) # 移動到桌面
已經過測試, 正常工作, 第三方模凷send2trash更安全, 可以恢復文件, 建議先安裝再試運行
把文件转换为字符串,用字符串比对功能,如果存在,就删除文件,如果不存在,就copy到桌面
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!