⑴ 用python模糊检索EXCEL文件的内容,并写入新的EXCEL表
这类基础逻辑编程初学可以手写逻辑,这个基本如下:
载入基础信息(Excel地址)
###手动指定###
获取输入查询数据
###input()获取,保存指变量###
打开Excel文件
####使用openpyxl打开,获取工作簿对象和表对象####
获取excel有效行与列数据
### 可以函数判断,最好手工写非空判断获取####
遍历返回结果数据
### 读取每个单元格 查询字符串即可,习惯用Count还是find函数看具体需求和习惯###
写入文件
同样可以采用openpyxl写入excel或者直接写入txt文件
⑵ python怎么两两查找多个文件相同内容
可以用 difflib库,下面给一个例子,具体需求自己研究
假如在同一个目录下有a.txt, b.txt 两个文本文件
a.txt 内容是
aaa
bbb
b.txt内容是
aaa
ccc
import difflib
a = open('a.txt', 'U').readlines()
b = open('b.txt', 'U').readlines()
diff = difflib.ndiff(a, b)
sys.stdout.writelines(diff)
结果是:
aaa
- bbb+ ccc
⑶ 请问如何用python实现查找指定文件
若不包含子目录的遍历:
importglob
forfilenameinglob.glob("f:/py/*.exe"):
printfilename
否则可以:
importos
importfnmatch
defiterfindfiles(path,fnexp):
forroot,dirs,filesinos.walk(path):
forfilenameinfnmatch.filter(files,fnexp):
yieldos.path.join(root,filename)
forfilenameiniterfindfiles(r"f:/py","*.exe"):
printfilename
⑷ 请教Python关于找到文件并引用
一、Python查找模块的路径
运行Python应用或引用Python模块,Python解释器要有一个查找的过程。可以通过设置一个环境变量PYTHONPATH为Python增加一个搜索路径,以方便查找到相关Python模块(不同的操作系统环境变量的设置稍有不同,默认以下都是WIndows环境),这与众多应用程序需要设置一个系统环境变量的道理是一样的。在命令行中可以通过以下命令设置:
C:\Users\Administrator>set PYTHONPATH=E:/Project/Python/MoleAndPackage/
进入Python环境后可以,通过Python的sys.path属性获得当前搜索路径的配置,可以看到之前我们设置的路径已经在当前搜索路径中了。
C:\Users\Administrator>pythonPython 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32Type "help", "right", "credits" or "license" for more information.>>> import sys>>> sys.path['', 'E:\\Project\\Python\\MoleAndPackage', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python\\DLLs', 'C:\\Python\\lib', 'C:\\Python\\lib\\plat-win', 'C:\\Python\\lib\\lib-tk', 'C:\\Python', 'C:\\Python\\lib\\site-packages']>>>
也可以通过sys模块的append方法在Python环境中增加搜索路径。
>>> sys.path.append("E:\\Project\\Python\\MoleAndPackage2")>>> sys.path['', 'E:\\Project\\Python\\MoleAndPackage', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python\\DLLs', 'C:\\Python\\lib', 'C:\\Python\\lib\\plat-win', 'C:\\Python\\lib\\lib-tk', 'C:\\Python', 'C:\\Python\\lib\\site-packages', 'E:\\Project\\Python\\MoleAndPackage2']>>>
二、Python中的模块和包
前面已经提到每个.py文件都是可以认为是一个Python模块,.py文件中可以包含类、方法、变量和常量(Python还没有严格意义上的常量,只是约定大写的变量作为常量),文件内也可以直接写所有的逻辑语句并在加载时从上之下直接执行,这与其他解释型语言是类似的。例如我们选择在文件夹MoleAndPackage中创建一个文本文件person.py文件即创建了一个简单的Python模块,其内容如下:
# -*- coding: utf-8 -*-ID = 1name = "This person"print namedef say(something):print name,'says', something
那么接下来我们就可以在Python环境中执行person.py。我们可以直接像执行一个批处理文件那样执行person.py,在cmd命令行输入:
Python E:/Project/Python/MoleAndPackage/person.py
本质上任何一个Python应用的入口模块都是这样被执行的(像C#和Java中的main函数),但是引用一个模块,就要建立运行它的上下文环境。我们先设置一个环境变量PYTHONPATH,以便Python解释器找到person.py模块,然后import person模块,即可访问其中的方法或变量。
C:\Users\Administrator>pythonPython 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32Type "help", "right", "credits" or "license" for more information.>>> import personThis person>>> person.say("hello")This person says hello>>> print person.nameThis person>>>
Python需要去某些固定的路径下去查找Python模块,上面我们设置在MoleAndPackage中查找。但是这些路径下也是有目录层次的,Python是如何查找子目录中的模块呢?特别是引用第三方包时,我们也需要知道一定的层次关系。实际上,Python通过目录和文件构建包结构,并且包是层层嵌套的,和目录层层嵌套是一样的,这样就构成了包内的访问路径(或者命名空间,也可以说Python应用的命名空间与其目录和文件结构是对应了,似乎缺少了一些灵活,但也更简单)。例如我们在MoleAndPackage文件夹下,创建一个文件夹animal,里面创建一个文本文件pet.py,其内容如下:
# -*- coding: utf-8 -*-ID = 2name = "This pet"print namedef run(somewhere):print name,'runs', somewhere
那么如何引用pet.py这个模块呢?按照Python的约定,需要在animal文件夹中创建名为__init__.py的空文本文件,以标识animal文件夹是一个包。倘若animal文件夹内还有文件夹作为包,也必须包含__init__.py文件。这样就层层标识了访问的路径。
>>> import animal.petThis pet>>> print animal.pet.nameThis pet>>> animal.pet.run("everywhere")This pet runs everywhere>>>
或者使用from关键字直接导入模块内的属性或方法:
>>> from animal.pet import name,run>>> print nameThis pet>>> run("everywhere")This pet runs everywhere>>>
三、Python模块间引用
简答来说,只要Python模块在其执行环境配置的搜索路径中,并且其所在位置是包结构的一部分,那么我们就可以引用该模块。上文已经提供了模块引用的基本示例。只不过模块间引用时import语句是写在模块文件中,我们修改person.py模块的代码。
1、from、import和as
# -*- coding: utf-8 -*-ID = 1name = "This person"print namedef say(something):print name,'says', somethingfrom animal.pet import name as pet_name, run as pet_rundef have():print name,'has', pet_name
import语句可以写在文档中的任何位置,甚至if语句中,以便更好的控制模块引用。还可以通过as语句,使用另一个变量名进行引用,以避免变量名冲突。>>> import personThis personThis pet>>> print person.nameThis person>>> print person.pet_nameThis pet>>> person.have()This person has This pet>>>
⑸ 如何用Python os.path.walk方法遍历搜索文件内容的操作详解
本文是关于如何用Python os.path.walk方法遍历搜索文件目录内容的操作详解的文章,python 代码中用os.path.walk函数这个python模块的方法来遍历文件,python列出文件夹下的所有文件并找到自己想要的内容。
文中使用到了Python os模块和Python sys模块,这两个模块具体的使用方法请参考玩蛇网相关文章阅读。
Python os.path.walk方法遍历文件搜索内容方法代码如下:
?
041
import os, sys#代码中需要用到的方法模块导入 listonly = False skipexts = ['.gif', '.exe', '.pyc', '.o', '.a','.dll','.lib','.pdb','.mdb'] # ignore binary files def visitfile(fname, searchKey): global fcount, vcount try: if not listonly: if os.path.splitext(fname)[1] in skipexts: pass elif open(fname).read().find(searchKey) != -1: print'%s has %s' % (fname, searchKey) fcount += 1 except: pass vcount += 1 #www.iplaypy.com def visitor(args, directoryName,filesInDirectory): for fname in filesInDirectory: fpath = os.path.join(directoryName, fname) if not os.path.isdir(fpath): visitfile(fpath,args) def searcher(startdir, searchkey): global fcount, vcount fcount = vcount = 0 os.path.walk(startdir, visitor, searchkey) if __name__ == '__main__': root=raw_input("type root directory:") key=raw_input("type key:") searcher(root,key) print 'Found in %d files, visited %d' % (fcount, vcount)
⑹ 用Python查找某文件夹的文件名称,并对文件名进行更改的库名称是什么
要在文件夹中搜索文件名并在 Python 中重命名文件,可以使用模块和模块。该模块提供基于通配符模式匹配文件路径的函数,而该模块提供用于处理文件和文件夹(如重命名文件)的函数。globosglobos
下面是如何使用 and 模块在文件夹中搜索文件名并重命名文件的示例:globos
此代码使用该函数搜索指定文件夹中的文件,使用通配符模式匹配所有文件。然后,它循环访问文件名,并使用该函数拆埋庆将文件名拆分为其基本名称和扩展名。然后,它会向基名称添加新后缀,并使用该函数重命名文件。glob.glob()*os.path.splitext()os.rename()
总体而言,和模块提供了一种强大而灵活的方式来搜索文件夹中的文件名并在 Python 中重命名文件。您可以使用这些模旅握块来实现各种文件管理任务,例如基于不同模式搜索文件、批量重命名文件以及在文件夹之间移动或复制文件。液镇
回答不易望请采纳