(Python)脚本能否永久编辑我的系统路径变量?

(Python)脚本能否永久编辑我的系统路径变量?,python,shell,command-line,terminal,path,Python,Shell,Command Line,Terminal,Path,我试图制作一个脚本,通过命令行来做一些事情。它的用法应该如下所示: C:\users\me> appname startprocess 但是如果我想发布它,我需要它非常方便每个人使用,并且需要将PATH变量设置为脚本的位置 我希望我的脚本自己处理此任务。我的脚本是否可以永久编辑路径变量?如果是,怎么做 关于此主题的大多数问题主要是关于如何为python脚本设置path变量,而不是编写可以自行完成此操作的脚本。要将当前工作目录添加到路径,可以使用以下代码: import os import

我试图制作一个脚本,通过命令行来做一些事情。它的用法应该如下所示:

C:\users\me> appname startprocess
但是如果我想发布它,我需要它非常方便每个人使用,并且需要将PATH变量设置为脚本的位置

我希望我的脚本自己处理此任务。我的脚本是否可以永久编辑路径变量?如果是,怎么做


关于此主题的大多数问题主要是关于如何为python脚本设置path变量,而不是编写可以自行完成此操作的脚本。

要将当前工作目录添加到路径,可以使用以下代码:

import os
import sys
pwd = os.getcwd()
sys.path.append(pwd)
要运行shell脚本,请使用以下命令:

import subprocess
subprocess.run('Your Command', shell = True)
如果要检查命令的输出,请执行以下操作:

stdout = subprocess.check_output('Your Command', shell = True)
print(stdout.decode())

要将当前工作目录添加到路径,可以使用以下代码:

import os
import sys
pwd = os.getcwd()
sys.path.append(pwd)
要运行shell脚本,请使用以下命令:

import subprocess
subprocess.run('Your Command', shell = True)
如果要检查命令的输出,请执行以下操作:

stdout = subprocess.check_output('Your Command', shell = True)
print(stdout.decode())

你把它倒过来;要让脚本编辑路径,首先必须运行脚本,这意味着知道它在哪里。我建议阅读
setup.py
以及如何让人们
pip安装包含脚本的软件包。例如:。我相信有一些特定于操作系统的方法(通过Python脚本)。@Jitin:我不清楚你的问题。是否要
appname
更改调用方的路径?只有当
appname
与调用者在同一进程中运行时,这才可能发生。例如,如果
appname
是posixshell(我从您对shell标记的使用中假设),那么用户需要将其作为
调用/path/to/appname startprocess
以确保这是在调用程序的进程内运行的。这更像是我正在尝试安装应用程序。我希望它可以从我的shell访问。所以我需要我的python脚本来永久性地编辑我的系统路径,这样我就可以在任何时候调用我的脚本;要让脚本编辑路径,首先必须运行脚本,这意味着知道它在哪里。我建议阅读
setup.py
以及如何让人们
pip安装包含脚本的软件包。例如:。我相信有一些特定于操作系统的方法(通过Python脚本)。@Jitin:我不清楚你的问题。是否要
appname
更改调用方的路径?只有当
appname
与调用者在同一进程中运行时,这才可能发生。例如,如果
appname
是posixshell(我从您对shell标记的使用中假设),那么用户需要将其作为
调用/path/to/appname startprocess
以确保这是在调用程序的进程内运行的。这更像是我正在尝试安装应用程序。我希望它可以从我的shell访问。所以我需要我的python脚本来永久性地编辑我的系统路径,这样我就可以随时调用我的脚本,但这不是一个临时修复,路径变量实际上不会改变,是吗?我需要对Path变量进行永久性更改。对@BugHunter有更多的了解吗?但这不只是一个临时修复吗?Path变量实际上不会更改吗?我需要对Path变量进行永久性更改。对@BugHunter有更多了解吗?