簡體   English   中英

[sys.argv [0]]在python中的含義

[英][sys.argv[0]] meaning in python

我正在檢查一個python腳本以發送帶有附件的電子郵件,並遇到了一條代碼行

attachments = [sys.argv[0]]

所以我不明白是否必須通過此附件路徑變量或它本身如何獲取附件文件路徑或以下代碼段的含義。

email = Email(from_='"%s" <%s>' % (name, email), #you can pass only email
          to='"%s" <%s>' % (to_name, to_email), #you can pass only email
          subject=subject, message=message, attachments=attachments)

所以如何/在哪里將我的附件文件(路徑)傳遞給上述代碼。

請解釋。 或任何人都可以給我一個示例,通過該示例我可以發送帶有郵件正文和多個電子郵件ID附件的電子郵件。

將附件文件名添加到執行python文件的命令中:

python myfile.py attachment_file.txt

sys.argv[1]獲取第一個命令行參數。

您的代碼建議將用戶作為命令行參數傳遞的第一個文件名與郵件一起作為附件發送。 從而

你必須使用

attachments = [sys.argv[1]]

代替

attachments = [sys.argv[0]]

Email()中的attachment參數需要一個文件名列表,並且您的腳本配置為僅發送一個文件作為附件。 您可以使用以下命令發送多個文件

attachments = sys.argv[1:]

我相信,如果您在代碼中更改此行:

attachments = [sys.argv[0]]attachments = [sys.argv[1]] ,它應該為您工作,因為命令行( argv[0] )中的第一個參數是文件腳本的名稱(例如myfile.py

至於附件的路徑,id附件文件與腳本文件( myfile.py )位於同一文件夾中,那么僅附件文件的名稱就足夠了,否則您需要提供附件文件的完整路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM