0
import os

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

我正在尝试做的基本操作是使用“os”模块来使用 USERNAME 变量来填写目录路径,示例如下

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

"USER Name HERE"是我想用 os 变量 "USERNAME" aka 替换的路径部分os.environ['USERNAME']

本质上,我希望我的文件能够找出当前电脑的用户名,以便它可以相应地更改它的路径。

附言。此命令在 .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" 

不确定这里是否有人对 bat 文件了解太多,但这可能有助于让我的问题更清楚: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'] = 'FakeEmail@hotmail.com'
msg['To'] = 'FakeEmail@hotmail.com'
msg['Subject'] = 'simple hotmail email'
message = '%USERNAME%'
msg.attach(MIMEText(message))

您可能会看到脚本的消息部分是我正在尝试使用 %USERNAME% 编辑的内容

编辑:我将如何将相同的变量添加到格式如下的路径格式:

如何将相同的变量添加到这样的脚本中(主要是路径格式)

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

1 回答 1

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'] = 'FakeEmail@hotmail.com'
msg['To'] = 'FakeEmail@hotmail.com'
msg['Subject'] = 'simple hotmail email'
message = os.environ['USERNAME']
#message = os.path.expandvars('%USERNAME%') # alternative
msg.attach(MIMEText(message))
于 2013-07-28T12:07:22.447 回答