os.path.join函数
用法:将多个路径组合后返回
语法:os.path.join(path1[,path2[,path3[,…[,pathN]]]])
返回值:将多个路径组合后返回
注意:第一个绝对路径之前的参数将会被忽略
os.path.splitext(“文件路径”)
os.path.splitext(“文件路径”) 分离文件名与扩展名;默认返回(fname,fextension)元组,可做分片操作
import os
path_01='D:/User/wgy/workplace/data/notMNIST_large.tar.gar'
path_02='D:/User/wgy/workplace/data/notMNIST_large'
root_01=os.path.splitext(path_01)
root_02=os.path.splitext(path_02)
print(root_01)
print(root_02)
- 结果
('D:/User/wgy/workplace/data/notMNIST_large.tar', '.gar')
('D:/User/wgy/workplace/data/notMNIST_large', '')
相对路径与绝对路径
文件遍历
files = os.listdir(inputs_path)
shutil 文件操作
对文件的复制与删除操作更是比较支持
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = 'junxi'
import shutil
# 将文件内容拷贝到另一个文件中
shutil.copyfileobj(open('old.txt', 'r'), open('new.txt', 'w'))
# 拷贝文件
shutil.copyfile('old.txt', 'old1.txt')
# 仅拷贝权限。内容、组、用户均不变
shutil.copymode('old.txt', 'old1.txt')
# 复制权限、最后访问时间、最后修改时间
shutil.copystat('old.txt', 'old1.txt')
# 复制一个文件到一个文件或一个目录
shutil.copy('old.txt', 'old2.txt')
# 在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了
shutil.copy2('old.txt', 'old2.txt')
# 把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
shutil.copytree('C:/Users/xiaoxinsoso/Desktop/aaa', 'C:/Users/xiaoxinsoso/Desktop/bbb')
# 移动目录或文件
shutil.move('C:/Users/xiaoxinsoso/Desktop/aaa', 'C:/Users/xiaoxinsoso/Desktop/bbb') # 把aaa目录移动到bbb目录下
# 删除一个目录
shutil.rmtree('C:/Users/xiaoxinsoso/Desktop/bbb') # 删除bbb目录
python读取文件夹
import os
#先定义一个带路径的文件
filename = "/home/mydir/test.txt"
#将文件路径分割出来
file_dir = os.path.split(filename )[0]
#判断文件路径是否存在,如果不存在,则创建,此处是创建多级目录
if not os.path.isdir(file_dir):
os.makedirs(file_dir)
#然后再判断文件是否存在,如果不存在,则创建
if not os.path.exists(filename ):
os.system(r'touch %s' % filename)
python获取文件后缀
# 获取前缀(文件名称)
assert os.path.splitext(file)[0] == "Hello"
# 获取后缀(文件类型)
assert os.path.splitext(file)[-1] == ".py"
assert os.path.splitext(file)[-1][1:] == "py"
---------------------
作者:Yu.Mu
来源:CSDN
原文:https://blog.csdn.net/JNingWei/article/details/78745403
版权声明:本文为博主原创文章,转载请附上博文链接!
python文本匹配
# 匹配是否有如下关键词
def find_key(text):
num = 0
pattern = re.compile(u'宣判笔录|笔录')
# print(pattern)
# PATTERN = re.compile(ur'上诉')
res = re.findall(pattern, text)
print(res)
if len(res):
num = 1
# for c in text:
# if c == "姚":
# num = 1
# break
return num
字符串按照空格分隔,保存到列表中
def filter_str2(file_path):
# 定义一个列表,存放每个分词结果,结果放入列表中
list = []
with open(file_path, 'r', encoding='utf-8') as f:
for line in f:
line = ''.join(line).strip()
if len(line) > 2 and line not in list:
list.append(line)
# print(line)
# print(list)
return list
写文件
以'w'
模式写入文件时,如果文件已存在,会直接覆盖(相当于删掉后新写入一个文件)。如果我们希望追加到文件末尾怎么办?可以传入'a'
以追加(append)模式写入。
def write_file(file_path, content):
with open(file_path, 'a', encoding='utf-8') as f:
f.write(content)
f.write('\n')