如何在Linux机器上用Python压缩和发送已排序的文件?

如何在Linux机器上用Python压缩和发送已排序的文件?,python,linux,file,email,Python,Linux,File,Email,我有一个在服务器上运行的Python脚本。它会生成一些已排序的.csv文件和带有图形的.PDF文件。我正试图建立另一个脚本,将挑选某些文件和电子邮件给一组用户。下面是一些伪代码: Process.CSV文件:VC506.CSV、VC507.CSV、VC1020。csv等等。。。基于某些条件,并生成具有 符合条件的所有CSV文件的列表。我做的 那部分。所以,我有一个输出文件。让它只是一个文本文件 output.txt,或者为了更好地使用todays\u date\u output.txt 我现在

我有一个在服务器上运行的Python脚本。它会生成一些已排序的.csv文件和带有图形的.PDF文件。我正试图建立另一个脚本,将挑选某些文件和电子邮件给一组用户。下面是一些伪代码:

  • Process.CSV文件:VC506.CSV、VC507.CSV、VC1020。csv等等。。。基于某些条件,并生成具有 符合条件的所有CSV文件的列表。我做的 那部分。所以,我有一个输出文件。让它只是一个文本文件
    output.txt
    ,或者为了更好地使用
    todays\u date\u output.txt

  • 我现在需要实现的部分是用相应的.pdf文件通过电子邮件发送该文件。PDF文件的名称与.CSV文件相同。基本上,如果我的 脚本选择了VC506.csv、VC507.csv文件,然后我需要发送电子邮件 VC506.pdf、VC507.pdf文件

    我想最好的办法是把输出文件和所有这些 相应的pdf文件放在一个ZIP存档中,因为可能会有很多pdf文件

电子邮件可能看起来像这样:

Subject: testing results, July 10, 2013
Body: attached is the list of all the battery cells that appeared to be faulty.

这与其说是一个问题,不如说是一个普遍的求助请求,但你似乎走上了正确的道路,因为你对解决方案有一个清晰的轮廓。现在你只需要这么做。看一下(文件扩展名)和模块的文档,您就可以上路了。

好的,我已经把一切都准备好了。在保罗·阿尔梅达提供的一些提示的帮助下,我自己也能弄明白

To get the filename with no extension i used:
导入操作系统、操作系统路径、zipfile、csv

然后选择所需文件并将其打包到zip:

pdfs = zipfile.ZipFile("pdfs.zip","w")
for item in statfiles:
   pdfs.write('pdf_folder/'+item+'.pdf')
pdfs.close()
为了通过电子邮件发送,我使用了一个脚本,可以在StackOVerflow上找到。 如果这篇文章对任何人都有帮助,我会对我的因果报应再加一分
祝你好运。

到目前为止,我的电子邮件部分只处理文本。文件消息还没有起作用,但我研究了一下网络,它看起来是双重的。对我来说,最重要的是如何获取电子邮件所需的文件。是的,否决权很容易,帮助更难。但我想每个noob都必须面对它。你并不是因为是新手而被否决,而是因为你没有问一个明确的问题。现在你有一个具体的问题,但我不清楚。如果您的问题是从x.csv到x.pdf,请查看我之前评论的第一个链接中的os.path.splitext函数。这就得到了“x”,然后你只需要添加“.pdf”。好了,谢谢你提供的信息。我让分类部分工作,我让信息文件部分工作。但是,我在(我想)最容易的地方卡住了。我通读了os.path模块,但仍在为如何实现它而苦苦挣扎。当你第一次做某事时总是很难的。
pdfs = zipfile.ZipFile("pdfs.zip","w")
for item in statfiles:
   pdfs.write('pdf_folder/'+item+'.pdf')
pdfs.close()