1

我将如何使用相同的方法在底部代码的代码顶部使用 USERNAME 变量,我只是觉得我对 python 中的变量语法还没有基础知识:

代码: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.

没有编辑的默认代码:

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 条路径的变量(例如 Copy)有点困惑,这是一个示例:

copyfile(src, dst)

Or 

Copy(Src, dst)

PS我真的很好奇我应该研究什么来开始理解脚本的结构/当涉及到你编写它们的格式时的经验法则。

4

2 回答 2

3

os.mkdir在将字符串传递给or之前,您需要扩展字符串中的环境变量os.makedirs。您要使用的功能是os.path.expandvars. 此外,windows 中的环境变量是用%字符而不是'字符分隔的。

所以你的代码应该看起来更像这样:

import os
os.mkdir(os.path.expandvars("C:\\users\\%username%\\rest\\of\\path"))
于 2013-07-30T19:01:15.127 回答
2

首先尝试获取用户名,然后创建目录,如下所示:

import os

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

如果您希望访问用户的开始菜单,您可能想尝试%APPDATA%更好的可移植性:

os.path.join(os.environ['APPDATA'], "Microsoft\Windows\StartMenu\Programs\Data")
于 2013-07-30T18:54:17.500 回答