當前位置:首頁 » 編程語言 » python查找文件

python查找文件

發布時間: 2023-02-10 07:56:42

1. python如何查找以數字命名的文件

遍歷文件夾下找到所有文件

判斷當前目錄下文件的文件名是否是純數字的,然後加入到列表中輸出。

importos
num_filelist=[]
forroot,dirs,filesinos.walk(r"E: est"):
fortmpinfiles:
(shotname,extension)=os.path.splitext(tmp)
ifshotname.isalnum():
num_filelist.append(os.path.join(root,tmp))

printnum_filelist

2. 請教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>>>

3. Python—多線程文件名稱查找

腳本的功能為:
對某一文件夾啟動任意個線程查找文件包含XXX字元的文件名,並顯示該文件所在的路徑

運行結果:

還沒有進一步優化,歡迎大家留言評論,幫助小白改進腳本(✪ω✪)。

4. 用Python查找某文件夾的文件名稱,並對文件名進行更改的庫名稱是什麼

要在文件夾中搜索文件名並在 Python 中重命名文件,可以使用模塊和模塊。該模塊提供基於通配符模式匹配文件路徑的函數,而該模塊提供用於處理文件和文件夾(如重命名文件)的函數。globosglobos

下面是如何使用 and 模塊在文件夾中搜索文件名並重命名文件的示例:globos

此代碼使用該函數搜索指定文件夾中的文件,使用通配符模式匹配所有文件。然後,它循環訪問文件名,並使用該函數將文件名拆分為其基本名稱和擴展名。然後,它會向基名稱添加新後綴,並使用該函數重命名文件。glob.glob()*os.path.splitext()os.rename()

總體而言,和模塊提供了一種強大而靈活的方式來搜索文件夾中的文件名並在 Python 中重命名文件。您可以使用這些模塊來實現各種文件管理任務,例如基於不同模式搜索文件、批量重命名文件以及在文件夾之間移動或復制文件。

回答不易望請採納

5. python怎麼看一個py文件在哪裡出現過

python運行py文件的方法:
1.首先在資源管理器里復制一下py文件存放的路徑,並打開命令行;
2.然後切換到py文件的路徑下面;
3.接著輸入「python 文件名.py」;
4.最後按下回車鍵,可以看到窗口中py文件開始運行了。
以上就是python怎麼運行py文件的詳細內容。

6. 如何用python查詢文件路勁

最近在用Python腳本處理文件夾下面的文件名的搜索和重命名。其中碰到如何遞歸遍歷文件夾下面所有的文件,找到需要的文件,並且重命名的問題。其實如果看看Python的document,還是比較簡單的,這里直接給出使用方法,免得大家還要花精力去查找。

環境:
文件夾結構:
----path1
----path1-1
----path1-1.1.txt
----path1-2
----path1.1.txt
----path2
----recursiveDir.py
文件夾結構如上所示。

代碼分析(recursiveDir.py):

[python] view plain
<span style="font-size:18px;">import os

'''''
本腳本用來演示如何遍歷py腳本所在文件夾下面所有的文件(包括子文件夾以及其中包含的文件)。
重點演示如何獲取每個文件的絕對路徑。注意os.path.join(dirpath, filename)的用法。
'''

rootdir = os.getcwd()
print('rootdir = ' + rootdir)

for (dirpath, dirnames, filenames) in os.walk(rootdir):
#print('dirpath = ' + dirpath)
for dirname in dirnames:
print('dirname = ' + dirname)
for filename in filenames:
#下面的列印結果類似為:D:\pythonDirDemo\path1\path1-1\path1-1.1.txt
print(os.path.join(dirpath, filename))
if(filename=='path1-1.1.txt'):
os.chdir(dirpath)
#os.rename(os.path.join(dirpath, filename), dirpath + os.sep + 'path1-1.1.new.txt')
os.rename('path1-1.1.txt', 'path1-1.1.new.txt')
#os.remove(os.path.join(dirpath, filename))
#下面的輸出為fileName = path1-1.1.txt,並未包含絕對路徑,所以需要使用os.path.join來鏈接,獲取絕對路徑
print('fileName = ' + filename)
print('------------------one circle end-------------------')</span>

所以可以看到程序中使用os.path.join(dirpath, filename)來拼接出絕對路徑出來。注意下面的重命名用法,可以將工作目錄切換到os.chdir(dirpath),這樣就可以直接用os.rename(oldfile, newfile).Python會自動到dirpath下面查找oldfile並且重命名為newfile。注意工作目錄的含義:在Python的GUI中,使用os.getcwd()可以獲取到當前工作目錄。測試如下:

[html] view plain
<span style="font-size:18px;">>>> os.chdir('D:')
>>> os.getcwd()
'D:\\pythonDirDemo\\path1\\path1-1'
>>> os.chdir('D:\\')
>>> os.getcwd()
'D:\\'</span>

可見卻是可以用chdir改變工作目錄。這個代碼只是在重命名的時候用到的小技巧而已,大家知道有這個東西就行了,不過調用chdir之後,後續再獲取getcwd()就會被影響,所以警惕。

7. 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

8. python從文件中查找數據並輸出

#注意,這里的代碼用單空格縮進
importre

#寫上你的文件夾路徑
yourdir=""

keywordA="keywordA"

keywordB="keywordA(d+)"

files=[os.path.join(yourdir,f)forfinos.listdir(yourdir)]

withopen("out.txt","w")asfo:
forfinfiles:
fname=os.path.basename(f)
withopen(f,"r")asfi:
forlineinfi:
ifline.strip():
searchA=re.search(keywordA,line.strip())
ifsearchA:
searchB=re.search(keywordB,line.strip())
ifsearchB:
print(fname,serachB.groups()[0],sep=" ",file=fo)

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:751
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1012
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:719
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:879
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:774
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1127
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:351
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:229
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:912
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:876