如何将for循环应用于os.path.join()



我想通过电子邮件自动发送扫描机中新生成的数字。首先,我观察哪些文件是新创建的。然后通过电子邮件发送。所以我需要我的电子邮件的文件位置。我遇到了一个问题,使用for循环来处理os.path.join((生成的字符串,for循环将os.path.jjoin(((中的每个字符都分隔开,这不是我想要的。你有什么好主意吗?感谢

import os
import datetime as dt
now = dt.datetime.now()
ago = now-dt.timedelta(minutes=30)
for root, dirs,files in os.walk('D:my_pythonsmall script'):  
    for fname in files:
        path = os.path.join(root, fname)
        st = os.stat(path)    
        mtime = dt.datetime.fromtimestamp(st.st_mtime)
        if mtime > ago:
           if fname.endswith(('.jfif', '.jpg', 'TIFF')):
               new_picture = fname
               pathnew = os.path.join(root, new_picture)
               for path_new in pathnew:
               print(path_new)

我希望输出如下:

D:my_pythonsmall script123image1.jfif
D:my_pythonsmall script123image2.jfif

但环路的电流是这样的:

D
:

m
y
_
p
y
t
h
o
n

s
m
a
l
l
s
c
r
i
p
t

1
2
3

i
m
a
g
d
.
j
f
i
f

如何解决?感谢

您忘记将路径a初始化为列表,然后追加路径。

path=[]
for root, dirs,files in os.walk('D:my_pythonsmall script'):  
    for fname in files:
        path.append(os.path.join(root, fname))
for x in path:print(x)

最新更新