IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 用Python查看文件夹内文件是否与名单内相同 -> 正文阅读

[Python知识库]用Python查看文件夹内文件是否与名单内相同

我现在是一个大学生,这是我在做学委是收电子版作业,需要查人数烦了写的一个查作业的python程序很简单,在这里存储一下,各位大佬路过一笑就好,有问题的话望请斧正。

from tkinter import *
from tkinter import filedialog
import tkinter.messagebox
import tkinter as tk

def main():
    def selectExcelfile1():
        global mdps
        mdps = filedialog.askopenfilename(title="选择TXT文件")#'选择Excel文件', filetypes=[('Excel', '*.xlsx'), ('All Files', '*')])
        print(mdps)
        text1.insert(INSERT, mdps)

    def selectExcelfile2():#获得待处理文件位置
        global wjps
        wjps = filedialog.askdirectory()
        print(wjps)
        text2.insert(INSERT, wjps)

    def selectExcelfile3():#获得结果位置
        global wmdps
        wmdps = filedialog.askdirectory()
        print(wmdps)
        text3.insert(INSERT, wmdps)
        print(wmdps)

    def closeThisWindow():
        root.destroy()

    def doProcess():
        tkinter.messagebox.showinfo('提示', '处理txt文件的示例程序。')
        deal(wjps, mdps, wmdps)

    def deal(wjps, mdps, wmdps):
        md = []
        import os  # 输入输出的模块以下用于把文件中的所有文件文件名变成一个列表,便于遍历检索目标
        caselist = os.listdir(wjps)  # OS.listdir是列出目标路径的文件夹以及文件
        all_name = ""  # 空的字符串
        for a in caselist:
            all_name += a
        print(all_name)  # 此时字符串为所有文件的名
        data = []
        with open(mdps, 'r', encoding='utf-8') as f:  # w是创建新文件,r是只读取文件,wb以二进制方式创建新文件,一般是存储图片等文件。utf-8是字符串的操作格式
            for line in f.readlines():  # readline() 和 .readlines() 之间的差异是后者一次读取整个文件,前者一次一行
                line = line.strip()  # strip代表换行。因为在文本中每行开头都有个"/去掉文本中句子开头与结尾的符号的.split() 这样就把每行的每个字符一个个分开。
                data.append(line)
        print(data)  # 检索目标 返回没有找到的文件(人名)
        rs=0
        for i in range(0, 40):
            if all_name.find(data[i]) + 1:
                continue
            else:
                print(data[i])
                rs+=1
                md.append(data[i])
        print("共有",rs,"未交")
        rs1=["共有",str(rs),"人未交"]
        for i in range(0,3):
            md.append(rs1[i])
        print(md)
        file = open(wmdps + "\\未完成.txt", 'w', )  # 创建了一个文件并“.txt"规定文件类型,并打开文件
        file.write(" ".join(md))  # 写入文件
        file.close()  # 关闭文件

    # 初始化
    root = Tk()

    # 设置窗体标题
    root.title('检索文件')

    # 设置窗口大小和位置
    root.geometry('600x300+570+200')

    label1 = Label(root, text='请选择名单文件:')
    label2 = Label(root, text='请选择文件夹:')
    label3 = Label(root, text='请选择存放结果的文件夹:')
    text1 = Entry(root, bg='white', width=45)
    text2 = Entry(root, bg='white', width=45)
    text3 = Entry(root, bg='white', width=45)
    button1 = Button(root, text='浏览', width=8, command=selectExcelfile1)
    button4 = Button(root, text='浏览', width=8, command=selectExcelfile2)
    button5 = Button(root, text='浏览', width=8, command=selectExcelfile3)
    button2 = Button(root, text='处理', width=8, command=doProcess)
    button3 = Button(root, text='退出', width=8, command=closeThisWindow)

    label1.pack()
    label2.pack()
    label3.pack()
    text1.pack()
    text2.pack()
    text3.pack()
    button1.pack()
    button2.pack()
    button3.pack()
    button4.pack()
    button5.pack()

    label1.place(x=30, y=30)
    label2.place(x=30, y=60)
    label3.place(x=30, y=90)
    text1.place(x=150, y=30)
    text2.place(x=150, y=60)
    text3.place(x=150, y=90)
    button1.place(x=450, y=26)
    button4.place(x=450, y=56)
    button5.place(x=450, y=86)
    button2.place(x=160, y=150)
    button3.place(x=260, y=150)

    root.mainloop()


if __name__ == "__main__":
    main()

这个文件需要读取TXT格式的名单,如果需要用xlsx的文件需要安装一个文件然后稍微改一下程序,如果有同学要用直接拿走吧,我当时懒得下载了就没用,而且这样复用性我觉得可能更好。嘻嘻嘻。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-14 15:53:53  更:2021-12-14 15:56:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:41:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码