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里面就是当前目录下的文件夹名字