如何获取 python 可执行文件的文件路径
How to get path to file for python executable
我正在尝试获取 python 中的路径以通过已存在的路径目录 C:\ProgramData\myFolder\doc.txt 在文本文档中打开和写入,无需创建它,但使其工作python 可在用户计算机上执行。例如,如果通过这种方式我得到了文件夹:
mypath = os.path.join(os.getenv('programdata'), 'myFolder')
然后如果我想写:
data = open (r'C:\ProgramData\myFolder\doc.txt', 'w')
或打开它:
with open(r'C:\ProgramData\myFolder\doc.txt') as my_file:
不确定是否正确:
programPath = os.path.dirname(os.path.abspath(__file__))
dataPath = os.path.join(programPath, r'C:\ProgramData\myFolder\doc.txt')
并使用它例如:
with open(dataPath) as my_file:
import os
path = os.environ['HOMEPATH']
我会先找出一个标准的位置来放置文件。在 Windows 上,USERPROFILE 环境变量是一个好的开始,而在 Linux/Mac 机器上,您可以依赖 HOME。
from sys import platform
import os
if platform.startswith('linux') or platform == 'darwin':
# linux or mac
user_profile = os.environ['HOME']
elif platform == 'win32':
# windows
user_profile = os.environ['USERPROFILE']
else:
user_profile = os.path.abspath(os.path.dirname(__file__))
filename = os.path.join(user_profile, 'doc.txt')
with open(filename, 'w') as f:
# opening with the 'w' (write) option will create
# the file if it does not already exists
f.write('whatever you need to change about this file')
对于Python3.x,我们可以
import shutil
shutil.which("python")
事实上,shutil.which 可以找到 任何 可执行文件,而不仅仅是 python
.
我正在尝试获取 python 中的路径以通过已存在的路径目录 C:\ProgramData\myFolder\doc.txt 在文本文档中打开和写入,无需创建它,但使其工作python 可在用户计算机上执行。例如,如果通过这种方式我得到了文件夹:
mypath = os.path.join(os.getenv('programdata'), 'myFolder')
然后如果我想写:
data = open (r'C:\ProgramData\myFolder\doc.txt', 'w')
或打开它:
with open(r'C:\ProgramData\myFolder\doc.txt') as my_file:
不确定是否正确:
programPath = os.path.dirname(os.path.abspath(__file__))
dataPath = os.path.join(programPath, r'C:\ProgramData\myFolder\doc.txt')
并使用它例如:
with open(dataPath) as my_file:
import os
path = os.environ['HOMEPATH']
我会先找出一个标准的位置来放置文件。在 Windows 上,USERPROFILE 环境变量是一个好的开始,而在 Linux/Mac 机器上,您可以依赖 HOME。
from sys import platform
import os
if platform.startswith('linux') or platform == 'darwin':
# linux or mac
user_profile = os.environ['HOME']
elif platform == 'win32':
# windows
user_profile = os.environ['USERPROFILE']
else:
user_profile = os.path.abspath(os.path.dirname(__file__))
filename = os.path.join(user_profile, 'doc.txt')
with open(filename, 'w') as f:
# opening with the 'w' (write) option will create
# the file if it does not already exists
f.write('whatever you need to change about this file')
对于Python3.x,我们可以
import shutil
shutil.which("python")
事实上,shutil.which 可以找到 任何 可执行文件,而不仅仅是 python
.