python獲取文件路徑的文件名
❶ python怎麼獲取當前目錄指定擴展名的文件名
import os
import os.path
ext=input('請輸入你要顯示的文件的擴展名(如.py):')
print([f for f in os.listdir() if os.path.isfile(f) and os.path.splitext(f)[1]==ext])
❷ 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怎麼獲得文件夾名字
本文採用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怎樣獲取當前打開的文件的文件名
import os.path
f1 = open(m,'r') #打開文件
filename=os.path.basename(f1.name) #用f1.name得到文件路徑,os.path.basename得到文件名
❻ R、python的文件夾操作
Python OS模塊
1.重命名:os.rename(old, new)
2.刪除:os.remove(file)
3.列出目錄下的 文件 :os.listdir(path)
4.獲取當前工作目錄:os.getcwd()
5.改變工作目錄:os.chdir(newdir)
6.創建多級目錄:os.makedirs(r"c:/python /test")
7.創建單個目錄:os.mkdir("test")
8.刪除多個目錄:os.removedirs(r"c:/python") #刪除所給路徑最後一個目錄下所有空目錄。
9.刪除單個目錄:os.rmdir("test")
10.獲取文件屬性:os.stat(file)
11.修改文件許可權與時間戳:os.chmod(file)
12.執行操作系統 命令:os.system("dir")
13.啟動新進程:os.exec(), os.execvp()
14.在後台執行程序:osspawnv()
15.終止當前進程:os.exit(), os._exit()
16.分離文件名:os.path.split(r"c:/python/ hello.py ") –> ("c://python", " hello.py ")
17.分離擴展名:os.path.splitext(r"c:/python/ hello.py ") –> ("c://python//hello", ".py")
18.獲取路徑名:os.path.dirname(r"c:/python/ hello.py ") –> "c://python"
19.獲取文件名:os.path.basename(r"r:/python/hello.py") –> "hello.py"
20.判斷文件是否存在:os.path.exists(r"c:/python/hello.py") –> True
21.判斷是否是絕對路徑:os.path.isabs(r"./python/") –> False
22.判斷是否是目錄:os.path.isdir(r"c:/python") –> True
23.判斷是否是文件:os.path.isfile(r"c:/python/hello.py") –> True
24.判斷是否是鏈接文件:os.path.islink(r"c:/python/hello.py") –> False
25.獲取文件大小:os.path.getsize(filename)
26.*******:os.ismount("c://") –> True
27.搜索目錄下的所有文件:os.path.walk()
[2.shutil]
1.復制單個文件:shultil.(oldfile, newfle)
2.復制整個目錄樹:shultil.tree(r"./setup", r"./backup")
3.刪除整個目錄樹:shultil.rmtree(r"./backup")
[3.tempfile]
1.創建一個唯一的臨時文件:tempfile.mktemp() –> filename
2.打開臨時文件:tempfile.TemporaryFile()
[4.StringIO] #cStringIO是StringIO模塊的快速實現模塊
1.創建內存 文件並寫入初始數據 :f = StringIO.StringIO("Hello world!")
2.讀入內存文件數據:print f.read() #或print f.getvalue() –> Hello world!
3.想內存文件寫入數據:f.write("Good day!")
4.關閉內存文件:f.close()
rm(list=ls())
path = 'J:/lab/EX29 --在R語言中進行文件(夾)操作'
setwd(path)
cat("file A\n", file="A") #創建一個文件A,文件內容是'file A','\n'表示換行,這是一個很好的習慣
cat("file B\n", file="B") #創建一個文件B
file.append("A", "B") #將文件B的內容附到A內容的後面,注意沒有空行
file.create("A") #創建一個文件A, 注意會覆蓋原來的文件
file.append("A", rep("B", 10)) #將文件B的內容復制10便,並先後附到文件A內容後
file.show("A") #新開工作窗口顯示文件A的內容
file.("A", "C") #復制文件A保存為C文件,同一個文件夾
dir.create("tmp") #創建名為tmp的文件夾
file.(c("A", "B"), "tmp") #將文件夾拷貝到tmp文件夾中
list.files("tmp") #查看文件夾tmp中的文件名
unlink("tmp", recursive=F) #如果文件夾tmp為空,刪除文件夾tmp
unlink("tmp", recursive=TRUE) #刪除文件夾tmp,如果其中有文件一並刪除
file.remove("A", "B", "C") #移除三個文件
❼ python如何提取文件名字
一般完整的文件為:「文件名」.「文件格式」,可以通過「.」來獲取文件名。
import os
file_name=[]
str_file=os.getcwd()#當前腳本路徑
for dirpaths, dirnames, filenames in os.walk(str_file):
for filename in filenames:
if "." in filename:
filename=filename.split(".")[0]#以「.」為分割點獲取文件名
file_name.append(filename)
print file_name
❽ python怎麼獲取路徑下的所有文件夾名字
import os
os.chdir("D:\\python") #設置需要查看的目錄
a = [x for x in os.listdir() if os.path.isdir(x)]
列表a裡面就是當前目錄下的文件夾名字