繁体   English   中英

在 python 的目标文件夹中保存名称包含 / 的文件

[英]Saving file with a name containing / at the destination folder in python

我正在将来自 outlook 的电子邮件保存到本地文件夹。文件夹路径如下。

folder_path=r"C:\Documents\emails

文件名是 email 消息的主题,如下所示

subject=email_message.subject

所以 final_path 将是

final_path=os.path.join(folder_path,subject+".eml")

有时主题包含“/”然后它给出以下错误

[Error2] No such file or directory: 'C:\\Documents\\emails\\test1/email_123'

我认为这是因为主题行中的额外“/”(主题是“test1/email_123”)

我怎样才能解决这个问题?

这取决于您希望如何处理主题行中的/ 相应地在主题上使用.replace() function。

忽略/

subject=email_message.subject.replace("/", "")

那么目录将是:'C:\Documents\emails\test1email_123'

/视为目录结构

subject=email_message.subject.replace("/", "\")

那么目录将是:'C:\Documents\emails\test1\email_123'

/视为特殊字符

如果/表示您组织中的其他内容,例如连字符或下划线,请使用它。

subject=email_message.subject.replace("/", "-")

那么目录将是:'C:\Documents\emails\test1-email_123'

你应该用别的东西代替这封信。

像 'C:\Documents\emails\test1/email_123' 应该转换成 'C:\Documents\emails\test1_email_123'

这可以通过在final_path=os.path.join(folder_path,subject+".eml")之前放置一行来完成

subject.replace('/','_');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM