當前位置:首頁 » 編程語言 » python路徑文件名

python路徑文件名

發布時間: 2022-04-28 13:01:50

python怎樣獲取當前打開的文件的文件名

import
os
d=文件夾路徑
l=os.listdir(d)
則l就是文件夾里所以子文件夾和文件的列表,可以通過os.path.isfile和os.path.isdir來對列表裡的項進行判斷看是文件還是文件夾。

㈡ 只知道文件名的情況下,怎麼用python獲取所有同名文件的路徑


獲取文件路徑可以使用OS模塊,代碼如下:

importos

srcPath=r"WallReference.pdf"

path=os.path.abspath(srcPath)

print"全路徑為:",path

print"路徑名,文件名",os.path.split(path)

導入os模塊;

  1. 需要操作的文件;

  2. 獲取文件的全路徑,即帶盤符的路徑;

  3. 輸出全路徑;

  4. 輸出路徑名和文件名;

㈢ python中需要引用文件名稱在哪

第一種:os.listdir
os.listdir() 方法用於返回指定的目錄下包含的文件或子目錄的名字的列表。這個列表以字母順序。其得到的是僅當前路徑下的文件名,不包括子目錄中的文件,如果需要得到所有文件需要遞歸。 它也不包括 '.' 和 '..' 即使它在目錄中。
語法格式為:os.listdir(path)
舉例:def list_dir(file_dir):
'''
通過 listdir 得到的是僅當前路徑下的文件名,不包括子目錄中的文件,如果需要得到所有文件需要遞歸
'''
print'\n\n<><><><><><> listdir <><><><><><>'
print "current dir : {0}".format(file_dir)
dir_list = os.listdir(file_dir)
for cur_file in dir_list:
# 獲取文件的絕對路徑
path = os.path.join(file_dir, cur_file)
if os.path.isfile(path): # 判斷是否是文件還是目錄需要用絕對路徑
print "{0} : is file!".format(cur_file)
if os.path.isdir(path):
print "{0} : is dir!".format(cur_file)
list_dir(path) # 遞歸子目錄
第二種:os.walk
os.walk() 方法用於通過在目錄樹中遊走輸出在目錄中的文件名,向上或者向下。是一個簡單易用的文件、目錄遍歷器,可以幫助我們高效的處理文件、目錄方面的事情。
語法格式為:os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
方法參數說明:top:要遍歷的目錄的路徑
topdown:可選,如果為 True,則優先遍歷 top 目錄,以及 top 目錄下的每一個子目錄,否則優先遍歷 top 的子目錄,默認為 True
onerror: 可選, 需要一個 callable 對象,當 walk 異常時調用
followlinks:可選, 如果為 True,則會遍歷目錄下的快捷方式(linux 下是 symbolic link)實際所指的目錄,默認為 False
args:包含那些沒有 '-' 或 '--' 的參數列表
返回值: 三元組 (root, dirs, files)
root :所指的是當前正在遍歷的目錄的地址
dirs :當前文件夾中所有目錄名字的 list (不包括子目錄)
files :當前文件夾中所有的文件 (不包括子目錄中的文件)
舉例:def work_dir(file_dir):
print'\n\n<><><><><> work dir <><><><><>'
for root, dirs, files in os.walk(file_dir):
print'\n========================================'
print "root : {0}".format(root)
print "dirs : {0}".format(dirs)
print "files : {0}".format(files)
for file in files:
try:
print'-----------------------------------'
file_name = os.path.splitext(file)[0]
file_suffix = os.path.splitext(file)[1]
file_path = os.path.join(root, file)
file_abs_path = os.path.abspath(file)
file_parent = os.path.dirname(file_path)
print "file : {0}".format(file)
print "file_name : {0}".format(file_name)
print "file_suffix : {0}".format(file_suffix)
print "file_path : {0}".format(file_path)
print "file_abs_path : {0}".format(file_abs_path)
print "file_parent : {0}".format(file_parent)
except Exception, e:
print "Exception", e
找到文件目錄,對於Python初學者來說算是一個簡單操作了,希望本文能對Python小白有所幫助。

㈣ 如何使用Python獲取文件所在目錄和文件名

python有個魔術變數__file__ #(前後各兩個下劃線)。這個變數就是當前文件的絕對路徑。

再利用Pyhon自帶的os模塊中的path模塊可以處理路徑,分理出目錄和文件名。以下是示例代碼。

importos
folder,filename=os.path.split(__file__)
print(folder,filename)

不明白可追問。

㈤ python怎麼獲得文件夾名字

本文採用os.walk()和os.listdir()兩種方法,獲取指定文件夾下的文件名。

一、os.walk()

模塊os中的walk()函數可以遍歷文件夾下所有的文件。
[python] view plain
os.walk(top, topdown=Ture, onerror=None, followlinks=False)

該函數可以得到一個三元tupple(dirpath, dirnames, filenames).

參數含義:

dirpath:string,代表目錄的路徑;
dirnames:list,包含了當前dirpath路徑下所有的子目錄名字(不包含目錄路徑);
filenames:list,包含了當前dirpath路徑下所有的非目錄子文件的名字(不包含目錄路徑)。

注意,dirnames和filenames均不包含路徑信息,如需完整路徑,可使用os.path.join(dirpath, dirnames)

下面給出代碼;

[python] view plain
# -*- coding: utf-8 -*-

import os

def file_name(file_dir):
for root, dirs, files in os.walk(file_dir):
print(root) #當前目錄路徑
print(dirs) #當前路徑下所有子目錄
print(files) #當前路徑下所有非目錄子文件

當需要特定類型的文件時,代碼如下:

[python] view plain
# -*- coding: utf-8 -*-

import os

def file_name(file_dir):
L=[]
for root, dirs, files in os.walk(file_dir):
for file in files:
if os.path.splitext(file)[1] == '.jpeg':
L.append(os.path.join(root, file))
return L

其中os.path.splitext()函數將路徑拆分為文件名+擴展名,例如os.path.splitext(「E:/lena.jpg」)將得到」E:/lena「+".jpg"。

二、os.listdir()

os.listdir()函數得到的是僅當前路徑下的文件名,不包括子目錄中的文件,所有需要使用遞歸的方法得到全部文件名。

直接給出代碼,函數將返回類型為『.jpeg』個文件名:

[python] view plain
# -*- coding: utf-8 -*-
import os

def listdir(path, list_name):
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isdir(file_path):
listdir(file_path, list_name)
elif os.path.splitext(file_path)[1]=='.jpeg':
list_name.append(file_path)

㈥ python如何選擇文件,並獲得所選擇文件的全路徑名稱

可以使用絕對路徑,類似於d:\work\deter.xls
python中打開文件的路徑是當前工作路徑,可以通過下面的方式查看
import os
os.getcwd() 可以通過
os.chdir('c:\\')
進行修改

㈦ python文件名獲取文件路徑

概述

使用os.path.abspath()函數來獲取文件絕對路徑

解析

文件目錄結構如下:

os.path.abspath(path)返回path規范化的絕對路徑(但這個路徑不一定是真實的路徑),如果path僅是一個文件名,使用該函數後返回的路徑是當前工作目錄路徑連接改文件名後所組成的新的路徑名。

>>> import os.path

>>> os.path.abspath("a.py")

'C:\Users\Administrator\a.py'

os.path.split(path)將path分割成目錄和文件名二元組返回

>>> os.path.split("C:\Users\Administrator\a.py")
('C:\Users\Administrator', 'a.py')

os.path.dirname(path)返回path的目錄,其實就是os.path.split(path)的第一個元素

>>> os.path.dirname("C:\Users\Administrator\a.py")
'C:\Users\Administrator'

os.path.basename(path)返回path最後的文件名。如果path以/或結尾,就會返回空值。即os.path.split(path)的第二個元素。

>>> os.path.basename("C:\Users\Administrator\a.py")

'a.py'

os.path.commonprefix(list)返回list中所有path共有的最長的路徑,從左向右,相同字元。

os.path.exists(path)如果path存在,返回True;如果path不存在,返回False。

os.path.isabs(path)如果path是絕對路徑,返回True。

os.path.normpath(path)規范path字元串形式(規範文件路徑)

os.path.isfile(path)判斷路徑是否為文件,是返回True,否則返回False

os.path.isdir(path)如果path是一個存在的目錄,返回True,否則返貨False。

os.path.islink(path)是否是鏈接;但如果系統不支持鏈接,則返回False。

㈧ python怎麼獲取路徑下的所有文件夾名字

import os
os.chdir("D:\\python") #設置需要查看的目錄
a = [x for x in os.listdir() if os.path.isdir(x)]
列表a裡面就是當前目錄下的文件夾名字

㈨ 如何用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()就會被影響,所以警惕。

㈩ Python小知識:如何截取路徑中的文件名

Python截取路徑中的文件名
假設有一個文件的路徑名為:「K:\Project\FilterDriver\DriverCodes\hello.txt」,而且路徑和文件名都不是固定的。如何得到hello.txt這段字元串呢?
一、字元串分割–split()函數
1
2

path="K:/Project/FilterDriver/DriverCodes/hello.txt"
printpath.split("/")[-1]

執行結果:hello.txt。
二、使用basename()函數
1
2
3

import os.path
filePath="K:/Project/FilterDriver/DriverCodes/hello.txt"
printos.path.basename(filePath)

執行的結果仍然是hello.txt。

熱點內容
連接聚類演算法 發布:2025-05-15 23:55:09 瀏覽:976
工資演算法單休 發布:2025-05-15 23:52:30 瀏覽:817
超凡先鋒配置不行怎麼辦 發布:2025-05-15 23:27:54 瀏覽:530
win7取消加密 發布:2025-05-15 23:26:37 瀏覽:470
不用internet打開ftp 發布:2025-05-15 23:06:00 瀏覽:153
sql字元串取數字 發布:2025-05-15 22:57:45 瀏覽:124
推薦編程課 發布:2025-05-15 22:34:12 瀏覽:618
表拒絕訪問 發布:2025-05-15 22:29:37 瀏覽:978
電腦怎樣解壓文件 發布:2025-05-15 22:25:32 瀏覽:439
dns伺服器怎麼看 發布:2025-05-15 22:17:27 瀏覽:151