2013-07-30 99 views
0

我該如何去使用相同的方法在底層代碼的頂部代碼中使用USERNAME變量,我只是覺得我沒有紮實的知識在各種路徑類型中使用環境變量

代碼:1

msg['Subject'] = os.environ['USERNAME'] #This is the working method i use to call upon the USER NAME Variable. 

代碼:2

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

#This is the path type that i don't know how to use the Environmental Variable's With, this would be my best guess at how this would be done. 

任何幫助,將不勝感激

01與蟒蛇變量的語法還的

很多這方面的東西是新的給我和我^ _^

默認代碼沒有編輯的那麼幹淨:

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

問: 所以這兩種方法的寄望工作:

import os 
os.mkdir(os.path.expandvars("C:\\users\\%username%\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Data")) 


import os 
username = os.environ['USERNAME'] 
os.mkdirs("C:\Users\%s\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Data" % username) 

但我仍然有點困惑如何使用變量的需要2路徑的複製,這裏是一個例子:

copyfile(src, dst) 

Or 

Copy(Src, dst) 

任何額外的幫助將是巨大 Thannks

ps.i'm真的很好奇,我應該是什麼到開始瞭解腳本的結構/規則拇指的,當它來到的的格式,你賴特他們在

回答

2

您需要展開環境變量字符串中,你把它傳遞給os.mkdiros.makedirs之前。您要使用的功能是os.path.expandvars。此外,窗口中的環境變量以%字符而不是'字符分隔。

所以,你的代碼應該看起來更像是這樣的:

import os 
os.mkdir(os.path.expandvars("C:\\users\\%username%\\rest\\of\\path")) 
2

首先嚐試抓住了用戶名,然後製作目錄,就像這樣:

import os 

username = os.environ['USERNAME'] 
os.mkdirs("C:\Users\%s\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Data" % username) 

如果你正在尋找訪問用戶的開始菜單,你可能想嘗試%APPDATA% instea d爲更好的便攜性:

os.path.join(os.environ['APPDATA'], "Microsoft\Windows\StartMenu\Programs\Data")