python怎么读取文件夹的图片(python如何读取图片文件)

http://www.itjxue.com  2023-03-01 00:25  来源:未知  点击次数: 

请教一下大神如何用python读取图片的txt标签内容并将图片及对应标签移动至指定文件夹

import os

def search(s, path=os.path.abspath('.')):

for z in os.listdir(path):

if os.path.isdir(path + os.path.sep + z):

print('Currnet:', path)

path2 = os.path.join(path, z)

print('future:', path2)

search(s, path2)

elif os.path.isfile(path + os.path.sep + z):

if s in z:

print(os.path.join(path, z))

with open(path + os.path.sep + z, 'r') as fr:

with open('save.txt', 'a') as fw:

fw.write(path + '\t' + fr.read())

search('csv', '.')

python怎么访问另一个文件夹中的图片

绝对路径,相对路径。

用原始字符串表达路径会方便一些

即:r'F:\picture\a.jpeg'

python获取文件夹中的图片的路径

Python?3.6.1?(default,?Mar?22?2017,?06:17:05)?

[GCC?6.3.0?20170321]?on?linux

Type?"help",?"copyright",?"credits"?or?"license"?for?more?information.

?import?os

?def?isimage(fn):

...?????return?os.path.splitext(fn)[-1]?in?('.jpg',?'.JPG',?'.png',?'.PNG')

...?

?isimage('abs.jpg')

True

?isimage('abc.txt')

False

?dirpath?=?'/home/zyy/汽车/卡槽'

?for?r,?ds,?fs?in?os.walk(dirpath):

...?????for?fn?in?fs:

...?????????????if?not?isimage(fn):

...?????????????????????continue

...?????????????fname?=?os.path.join(r,?fn)

...?????????????print(fname)

...

Python如何从文件读取数据

1.1 读取整个文件

要读取文件,需要一个包含几行文本的文件(文件PI_DESC.txt与file_reader.py在同一目录下)

PI_DESC.txt

3.1415926535

8979323846

2643383279

5028841971

file_reader.py

with open("PI_DESC.txt") as file_object:

contents = file_object.read()

print(contents)

我们可以看出,读取文件时,并没有使用colse()方法,那么未妥善的关闭文件,会不会导致文件收到损坏呢?在这里是不会的,因为我们在open()方法前边引入了关键字with,该关键字的作用是:在不需要访问文件后将其关闭

1.2文件路径

程序在读取文本文件的时候,如果不给定路径,那么它会先在当前目录下进行检索,有时候我们需要读取其他文件夹中的路径,例如:

现在文件PI_DESC.txt存储在python目录的子文件夹txt中

那么我们读取文本内容的代码得修改为:

with open("txt\PI_DESC.txt") as file_object:

contents = file_object.read()

print(contents)

给open参数传递的参数得给相对路径

在Windows中,使用反斜杠(\),但是由于python中,反斜杠被视为转义字符,在Windows最好在路径开头的单(双)引号前加上r

相对路径:即相对于程序文件的路径

绝对路径:即文本在硬盘上存储的路径

使用绝对路径的程序怎么写呢 ?

with open(r"D:\python\txt\PI_DESC.txt") as file_object:

contents = file_object.read()

print(contents)

1.3逐行读取

读取文件时,可能需要读取文件中的每一行,要以每一行的方式来检查文件或者修改文件,那么可以对文件对象使用for循环

file_path = 'txt\PI_DESC.txt'with open(file_path) as file_object:

for line in file_object:

print(line)

程序运行结果如下:

通过运行结果我们可以看出,打印结果中间有很多空白行,这些空白行是怎么来的呢?因为在这个文件中,每行的末尾都有一个看不见的换行符,而print语句也会加一个换行符,因此每行末尾就有2个换行符:一个来自文件,另外一个来自print,消除这些换行符,只需要使用方法rstrip()

file_path = 'txt\PI_DESC.txt'with open(file_path) as file_object:

for line in file_object:

print(line.rstrip())

打印结果

通过运行结果我们可以看出,打印结果中间有很多空白行,这些空白行是怎么来的呢?因为在这个文件中,每行的末尾都有一个看不见的换行符,而print语句也会加一个换行符,因此每行末尾就有2个换行符:一个来自文件,另外一个来自print,消除这些换行符,只需要使用方法rstrip()

file_path = 'txt\PI_DESC.txt'with open(file_path) as file_object:

for line in file_object:

print(line.rstrip())

打印结果

1.4创建一个包含文件各行内容的列表

使用关键字with时,open()返回的文件对象只能在with代码块可用,如果要在with代码块外访问文件的内容,可在with块中将文件各行存储在一个列表,并在with代码块外使用该列表

file_path = 'txt\PI_DESC.txt'with open(file_path) as file_object:

lines = file_object.readlines()for line in lines:

print(line.rstrip())

1.5使用文件的内容

在上面一节中我们提到把数据提取到内存中,那么我们就可以对数据进行随心所欲的操作了

需要:将圆周率连在一起打印出来(删除空格),并打印其长度

file_path = 'txt\PI_DESC.txt'with open(file_path) as file_object:

lines = file_object.readlines()pi_str = ''for line in lines:

pi_str += line.strip()print(pi_str.rstrip())print(len(pi_str.rstrip()))

file_path = 'txt\PI_DESC.txt'with open(file_path) as file_object:

lines = file_object.readlines()pi_str = ''for line in lines:

pi_str += line.strip()print(pi_str.rstrip())print(len(pi_str.rstrip()))

注意最后print语句并没有缩进,如果是缩进的话就会每取一行打印一次

打印效果如下

Python如何读入一个文件夹下的多幅图片

搬过来的,可以看下代码,在自己写一个。

import?os

allFileNum?=?0

def?printPath(level,?path):

?global?allFileNum

?'''

?打印一个目录下的所有文件夹和文件

?'''

?#?所有文件夹,第一个字段是次目录的级别

?dirList?=?[]

?#?所有文件

?fileList?=?[]

?#?返回一个列表,其中包含在目录条目的名称(google翻译)

?files?=?os.listdir(path)

?#?先添加目录级别

?dirList.append(str(level))

?for?f?in?files:

??if(os.path.isdir(path?+?'/'?+?f)):

???#?排除隐藏文件夹。因为隐藏文件夹过多

???if(f[0]?==?'.'):

????pass

???else:

????#?添加非隐藏文件夹

????dirList.append(f)

??if(os.path.isfile(path?+?'/'?+?f)):

???#?添加文件

???fileList.append(f)

?#?当一个标志使用,文件夹列表第一个级别不打印

?i_dl?=?0

?for?dl?in?dirList:

??if(i_dl?==?0):

???i_dl?=?i_dl?+?1

??else:

???#?打印至控制台,不是第一个的目录

???print?'-'?*?(int(dirList[0])),?dl

???#?打印目录下的所有文件夹和文件,目录级别+1

???printPath((int(dirList[0])?+?1),?path?+?'/'?+?dl)

?for?fl?in?fileList:

??#?打印文件

??print?'-'?*?(int(dirList[0])),?fl

??#?随便计算一下有多少个文件

??allFileNum?=?allFileNum?+?1

if?__name__?==?'__main__':

?printPath(1,?'/home/test/')

?print?'总文件数?=',?allFileNum

如何使用python读取排版图片?

可以用Pillow库实现

给个参考:

python利用PIL拼接图片(九宫格)

(责任编辑:IT教学网)

更多

推荐思科认证文章