python - python代码需要获取用户的用户名才能打开C:/Users/USERNAME/目录下的文件
问题描述
我想在桌面或 C:/Users/USERNAME/ 目录中的其他任何地方打开一个文件。但我不知道获取用户名的代码是什么。例如,在批处理文件编程中我可以使用:]
c:/Users/%USERNAME%/...
我想在 open 函数中使用它。我都试过了:
open('C:/Users/%%USERNAME/Desktop/data3.txt')
open('C:/Users/%USERNAME%/Desktop/data3.txt')
我知道应该有一个可以将用户名提供给我的代码的导入。但我不知道它是什么。而且我还想知道我是否可以使用 %USERNAME% 或 %%USERNAME 之类的用户名或不需要任何导入的单个事物。
解决方案
os
使用模块执行此操作的三种方法:
- 使用
os.getlogin()
:
import os
>>> os.path.join("C:", os.sep, "Users", os.getlogin(), "Desktop")
'C:\\Users\\your_username\\Desktop'
- 使用
os.environ()
:
>>> os.path.join(os.environ['userprofile'], "Desktop")
'C:\\Users\\your_username\\Desktop'
- 使用
os.path.exapndvars()
:
>>> os.path.join(os.path.expandvars("%userprofile%"), "Desktop")
'C:\\Users\\your_username\\Desktop'
推荐阅读
- python - 如何在同一屏幕中创建独特的下拉菜单?
- python - Keras 结合了两个损失函数的值
- django - 姜戈 1.11。如何获取日期以每天更新自己
- angular - 升级到 ng7 后,E2e 测试无所作为
- .net - 强制 MVC JSON 解析器使用 RoundtripKind 解析 DateTime
- r - 加速 R 中的稀疏矩阵乘法
- python - TensorFlow Custom Estimator 预测抛出值错误
- javascript - 尝试自动扫描其他域上的闪存嵌入链接
- firebase - Firebase Pub/sub 触发器:偶尔执行多次
- vue.js - 嵌套的 vue 可拖动元素