常用到的模块

import os  # 用于修改路径,
import shutil  # 
from imutils import paths

open和write

注意:写入内容时的模式使用a不会删除原有记录的内容;读取内容时,使用模式r,不会因指针在最后位置而读取空内容

>在当前文件夹下使用open(文件名),相当与新建了一个文件,但若参数有路径但实际路径不存在会报错。
>with open('*.txt') as f:  #经常使用该形式,超过该范围,文件自动结束
>f.readline()  # 只读取一行内容的字符串,且 ’不显示‘ 回车符\n
>f.readlines() # 读取多行内容到一个list中,且 ’显示‘回车\n
>f.read()  # 读取多行内容但作为一个字符串,包含和回车符,但在print的时候直接转义了
>f.read().splitlines() ## 读取多行内容到一个list中,且 ’不显示‘ 回车\n
>
import os
import numpy as np

file_list = []
with open(r'test.txt', 'r+') as f:  # 记录最终的正确率
    for line in f.readlines():
        print('line:',line)   # 包含了回车符,但显示时自动回车了
        line_list = line[:-1].split(',') #舍去回车符,将剩下字符以逗号隔开
        print('line_list:',line_list)  
        file_list.append(line_list)   # 将每行作为一个list存入
    array = np.array(file_list)
    print('!!!!!')
    print(array[:,1:])   # 如果只是列表是无法进行这种操作,只取了从第二列开始的列

python 文件 static python 文件复制_python 文件 static

os模块常用

os.listdir(path)  # 返回path指定的文件夹包含的文件或文件夹的名字的列表
os.getcwd()  # 返回当前工作路径
os.chdir()  # 工作路径跳转到
os.listdir() # 目录下所有文件和文件夹名称,不显示子文件夹下的文件名称
os.walk() # 返回一个包含文件名称的生成器,但会遍历所有子文件夹中的文件名称,返回的多个元组,元组的第一个参数是后边文件的路径
import os

all_file = os.walk(r'F:\recent_use\test_img')
for i in all_file:
    print(i)

文件位置分布和结果

python 文件 static python 文件复制_python_02

红色上下表示分别的两个文件夹,橘黄色表示文件夹的路径,

python 文件 static python 文件复制_文件名_03

对路径的操作os.path(路径没有大小写之分)

参考:https://www.runoob.com/python3/python3-os-path.html

os.path.abspath(path)	#返回绝对路径
os.path.basename(path)	#返回文件名
os.path.exists(path)	#路径存在则返回True,路径损坏返回False
os.path.expanduser(path)	#把path中包含的"~"和"~user"转换成用户目录
os.path.getmtime(path)	# modify 返回最近文件修改时间
os.path.getctime(path)	#change 返回文件 path 创建时间
os.path.isfile(path)	#判断路径是否为文件
os.path.isdir(path)	#判断路径是否为目录
os.path.join(path1[, path2[, ...]])	#把目录和文件名合成一个路径
os.path.normcase(path)	#转换path的转义字符若有大写都转化为小写
os.path.split(path)	# 把路径分割成 dirname 和 basename,返回一个元组,路径名和文件名
os.path.splitext(path)	#分割路径中的文件名与拓展名(后缀)
print(os.path.splitext(    r'F:\recent_use\file.txt'))
# ('F:\\recent_use\\file', '.txt')

对文件操作的常用模块shutil

copy2(src, dst) # 复制文件到dst,若dst时目录则建立和src同样的名字,若dst是文件名称,则相当于对src复制并重命名,而且这种会复制权限、上次访问时间、上次修改时间
copy(src, dst) #  将文件src复制至dst,只是复制权限,时间不复制,若有同名文件会报错
move(src, dst) # 将src移动至dst目录下,

图片文件 imutils

imutils.translate(image, 100, 200) # 图片右移100,下移200
imutils.rotate(image, 90) # 图逆时针旋转90度
imutils.rotate_bound(image, 45)# 图片顺时针旋转45度
imutils.resize(image, width=400)# 图片宽度变为400
imutils.paths.list_images(dir)  # 遍历路径下的所有图片的路径和名字(路径是相对路径)