我想通过电子邮件自动发送扫描机中新生成的数字。首先,我观察哪些文件是新创建的。然后通过电子邮件发送。所以我需要我的电子邮件的文件位置。我遇到了一个问题,使用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)