我有一个创建文件夹的代码:
if not os.path.exists('C:\\Users\\MYNAME\\Documents\\Myfiles):
os.chdir('C:\\Users\\MYNAME\\Documents')
os.mkdir('Myfiles')
我希望它能够在任何计算机上运行,因此如何在不询问和执行类似操作的情况下获取默认用户:
DefaultUser = input('What is the default user for this PC?: ')
if not os.path.exists('C:\\Users\\' + DefaultUser + '\\Documents\\Myfiles'):
os.chdir('C:\\Users\\' + DefaultUser + '\\Documents')
os.mkdir('Myfiles')
编辑:默认情况下,我是指当前正在运行该程序的人。
答案 0 :(得分:0)
您可以尝试以下操作,首先使用getpass
获取用户名,然后使用占位符%s
在路径中使用该用户名。我在Mac上尝试过,并返回了正确的用户名。
import getpass
Name = getpass.getuser()
print (Name) # To confirm that it gives the correct username
if not os.path.exists('C:\\Users\\%s\\Documents\\Myfiles' %Name):
os.chdir('C:\\Users\\%s\\Documents' %Name)
os.mkdir('Myfiles')
答案 1 :(得分:0)
由于您已经在使用os
,因此请使用expanduser()
中的path
方法:
import os
curdir = os.path.expanduser('~/Documents')
# 'C:\\Users\\me/Documents'
newdir = 'Myfiles'
if not os.path.exists(os.path.join(curdir, newdir)):
os.chdir(curdir)
os.mkdir(newdir)
答案 2 :(得分:0)
因为答案与流程所有者有关
import os
import psutil
# get the PID
pid = os.getpid()
# get the username
username = psutil.Process(pid).username
未经测试,但可以在Windows和Linux上运行