我正在用python写一个简短的代码来自动化同事的流程。该程序非常简单,它从文本文件中查找并提取名称列表,该文本文件中还包含许多其他垃圾内容。然后可以轻松地将该列表与其他列表进行比较,或放入excel文件等。
我的想法是,对于他们来说,从源代码中提取文件并将其粘贴到其桌面上的文本文件中,这是最容易的事情,我的程序将自动从该文件中查找,读取并最终从中生成一个新的干净文件。我已经能够使用自己的计算机自行管理所有这些。
当我想访问计算机上原始的垃圾文本文件时,我只写:
cString(using:)
但是,当我将该程序导出到.exe并将其发送给同事时,这当然是行不通的,因为使用该程序的任何人大概都不会具有用户名“ Jon”。看来这将是一个普遍的问题,所以我假设有一些我找不到的简单解决方案。有没有办法访问“当前用户”的桌面或查找具有特定名称的文件,而又不提供其所在位置的完整路径?
经过一番研究,Environ似乎是一个不错的解决方案,它是为PC设计的。办公计算机是PC,但是我在Mac上进行编码,所以我猜测这意味着我将无法在系统上对其进行测试。
感谢任何帮助或其他方式来解决此问题!
答案 0 :(得分:1)
使用~
代表用户的主目录,然后可以使用os.path.expanduser
将其扩展为当前用户的完整路径。
如果您以Jon
的身份登录并且主目录为/Users/Jon
,则
import os
print(os.path.expanduser("~/Desktop/namelisttext.txt"))
将打印:
/Users/Jon/Desktop/namelisttext.txt
os.path.expanduser
的伟大之处在于它并不特定于一个操作系统。它将在Python支持的任何操作系统(包括Windows,否则通常不使用~
)上做正确的事情。