用python判断文件内容

img

img


如上图所示,判断文件(query_result.csv)内容,如果此文件里面出现了undefined这句话,就删除文件,若没有出现这句话则将文件放到桌面。这个功能用python如何实现?



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更安全, 可以恢復文件, 建議先安裝再試運行

img

把文件转换为字符串,用字符串比对功能,如果存在,就删除文件,如果不存在,就copy到桌面

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632