2013-07-28 33 views
0
import os 

print "C:\Users\print os.environ['USERNAME']\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" 

的我想要做的是使用「OS」模塊使用的用戶名變量填寫一個目錄路徑的基礎知識,下面的示例路徑中呼籲的ENVIROMENTAL可變

"C:\Users\USER Name HERE\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" 

"USER Name HERE"是我想用os變量「USERNAME」替換的路徑的一部分,也叫做os.environ['USERNAME']

本質上我想我的文件能夠找出當前PC的用戶名,以便它可以相應地更改它的路徑。

ps。這個命令是一個容易得多的.bat文件的的xD做的,我這是怎麼會在.bat文件中做到這一點

SET USERNAME 

:: Create new directory 
md "C:\ProgramData\Data" 

COPY "C:\Users\%USERNAME%\Desktop\DxAutoPackage\Win86\data\UserData" "C:\ProgramData\Data" 
COPY "C:\Users\%USERNAME%\Desktop\DxAutoPackage\Win86\system32.lnk" 

不知道,如果任何人知道這裏太多關於蝙蝠的文件,但它可能有助於使我的問題更清楚一點:P

無論如何任何幫助都將不勝感激。

編輯:好的,我以爲我已經去了,但我很可悲的是,這是部分腳本即時通訊嘗試讓它進入。 srry爲獲得自己的未來(第一篇)

import smtplib 
from email.MIMEMultipart import MIMEMultipart 
from email.MIMEText import MIMEText 
from email.MIMEBase import MIMEBase 
from email import Encoders 
import os 

msg = MIMEMultipart() 
msg['From'] = '[email protected]' 
msg['To'] = '[email protected]' 
msg['Subject'] = 'simple hotmail email' 
message = '%USERNAME%' 
msg.attach(MIMEText(message)) 

正如你可能會看到腳本的消息部分是我想要的編輯與%USERNAME%

編輯:我將如何去添加相同的變量,這是此格式AA路徑格式:

一個會如何add'ing相同的變量,以這樣的腳本(主要是路徑格式)

import os 
os.makedirs("C:\Users\'USERNAME'\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Data) 

回答

2

使用os.path.expandvars

>>> import os 
>>> print os.path.expandvars(r"C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup") 
C:\Users\falsetru\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 

或者您可以使用os.environ + str.format

>>> print r"C:\Users\{0[USERNAME]}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup".format(os.environ) 
C:\Users\falsetru\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 

編輯

import smtplib 
from email.MIMEMultipart import MIMEMultipart 
from email.MIMEText import MIMEText 
from email.MIMEBase import MIMEBase 
from email import Encoders 
import os 

msg = MIMEMultipart() 
msg['From'] = '[email protected]' 
msg['To'] = '[email protected]' 
msg['Subject'] = 'simple hotmail email' 
message = os.environ['USERNAME'] 
#message = os.path.expandvars('%USERNAME%') # alternative 
msg.attach(MIMEText(message)) 
+0

另外,還要注意使用原始字符串中的r 「......」使反斜槓更容易處理。 – torek

+0

即時通訊工作,現在正在工作,我有點困惑,你用來導入os模塊的方法(只是有點新) 讓我們只是說我想讓用戶名放在一個句子像這樣。 進口os.path.expandvars 「嘿,大家好我想轉到%USERNAME%」 將這項工作?我只是想確保我可以用這個作其他用途一樣將用戶名通過電子郵件以確定它來自哪個服務器。 –

+0

我會繼續解剖這個,直到我得到它的工作,我感謝你的援助,無論出來可能是! –