首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用sudo或不运行python3时,os.getenv("xxx")显示不同的结果

当使用sudo命令或者不以python3运行脚本时,os.getenv("xxx")函数会显示不同的结果。这是因为sudo命令会以root用户身份运行,而不以python3运行脚本时,默认也是以当前用户的身份运行。

在Linux系统中,os.getenv("xxx")函数用于获取环境变量的值。环境变量是一些系统级别的变量,用于存储配置信息或者其他重要的数据。通过os.getenv("xxx")函数可以获取指定环境变量的值。

当使用sudo命令运行脚本时,sudo会切换到root用户身份,而root用户的环境变量可能与当前用户的环境变量不同。因此,os.getenv("xxx")函数在sudo命令下可能无法获取到期望的环境变量值。

相反,如果不以python3运行脚本,默认是以当前用户的身份运行。当前用户的环境变量与root用户的环境变量可能存在差异,因此os.getenv("xxx")函数在这种情况下可能返回不同的结果。

为了解决这个问题,可以使用sudo命令的-i选项,以交互式方式切换到root用户身份,并加载root用户的环境变量。这样,在sudo命令下运行脚本时,os.getenv("xxx")函数就能够获取到与当前用户相同的环境变量值。

总结起来,当使用sudo命令或者不以python3运行脚本时,os.getenv("xxx")函数可能会显示不同的结果,这是因为不同用户的环境变量可能存在差异。为了获取一致的结果,可以使用sudo命令的-i选项以交互式方式切换到root用户身份,并加载root用户的环境变量。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【工具推荐】比 rz sz 还好用 trzsz ( trz tsz )

支持 进度条,显示当前正在传输文件名、进度、大小、速度和剩余时间等。更好 交互体验,传输成功出错显示友好结果,ctrl + c 优雅中止。...trzsz 录屏演示图片图片图片安装指南在远程服务器上安装用 Python3 安装sudo python3 -m pip install --upgrade trzsz用 Python2 安装sudo...tsz file1 file2 file3静默模式trz -q tsz -q xxx ( 加上 -q 选项 ),则在传输文件显示进度条。...转义控制字符二进制模式,控制字符可能会导致失败,trz -eb tsz -eb xxx ( 加上 -e 选项 ) 转义所有已知控制字符。...异常处理方法如果 tmux 不是运行在远程服务器上,而是运行在本地电脑上,或者运行在中间跳板机上。

5.3K31

自动签到程序 - 雨云签到

雨云签到 Github地址:雨云签到这是一个用于在雨云进行自动签到Python脚本。请注意 这只是一个demo,仅供学习参考,不保证能够长期使用。...功能说明支持多账号登录和签到程序将在每天早上八点签到一次通过电子邮件发送签到结果通知使用说明安装依赖库:在运行代码之前,请确保已安装以下依赖库:requestsemailapschedulerpython-dotenv...pip install requests email apscheduler python-dotenv 如果你使用python3,你可能需要使用pip3来安装依赖库。...: 邮箱用户名SMTP_PASSWORD: 邮箱密码SENDER_EMAIL: 发件人邮箱运行代码:使用以下命令运行代码: python app.py 如果你使用python3,你可能需要使用python3...python3 app.py定时任务:代码中已包含定时任务设置,可以根据需要进行调整。

69431
  • 【Python】基础:环境配置与基础语法

    设计哲学强调代码可读性和明确性。 2.开源和跨平台:Python是开源,可以免费使用和分发。它支持在多个操作系统上运行,包括Windows、macOS和各种Linux发行版。...3. python基础语法 python是解释型语言,因此程序不需要编译可以直接运行,在终端运行python程序可以直接python xxx.py,如: python main.py 为了编写和运行方便.../usr/bin/python3 print("Hello, World!") 语法基础 Python标识符也是要以字母下划线开头,且对大小写敏感。...if True: print ("now is True") else: print ("now is False") Python语句末尾不需要分号,但需要在一行显示多条语句,用分号...字符串string可以用单引号双引号表示,且没有单独字符类型,一个字符就是长度为1字符串。转义符\可以用来转义,如\n,但在string前加上r可以使其转义,输出本身值。

    7810

    Ubuntu基本使用

    ] # 参数可以填 now、分钟、:分 重启 reboot # 或者 shutdown -r [重启时间] # 参数可以填 now、分钟、:分 预览 cat XXX 简单输出 echo XXX -...--- 用户操作 切换到root用户 sudo su 注:建议在root用户下操作,平常涉及到高权限情况,应该在普通用户下使用sudo 加命令形式来操作 退出root用户 exit 退出普通用户...nvidia-smi # 这里只显示英伟达显卡运行状态,AMD可以百度搜索 实时监控 对系统资源想实时监控,可以使用watch命令 watch [-n 秒数] 命令 例: watch -n 0.2...可以将一些命令输出信息通过管道方式传递到grep命令来处理 grep [options] [pattern] [file ...] grep常用参数: 参数 解释 -n 显示匹配行号 -i 区分大小写...在/usr/local/bin路径下,然而crontab中PATH中没有/usr/local/bin,所以crontab是不会理解python3是个啥,crontab中直接写python3是不会运行

    39050

    ubuntu下让python脚本可直接运行实现方法

    /usr/bin/python3 ? /usr/bin/python3,是ubuntu下python3解释器所在目录,具体可以用which python3查看 ? 然后在执行chmod +x ..../xxx.py,为python脚本增加可执行权限 例如我这里 sudo chmod +x ./translate.py 最后运行./translate.py 然后…………报错了 -bash: ..../translate.py: /usr/bin/python3^M: 解释器错误: 没有那个文件目录 为什么?...这个是我在win7下写好源代码,后来用winscp传到ubuntu上,所以就造成了一个问题,dos下写代码,拿到linux下,存在兼容。 ?...OK,完美运行,但是细细一看,似乎还不完美,因为每次都要切换到文件所在目录才能运行,为了更方使用程序,我们可以将translate.py连接到/usr/bin,或者/usr/local/bin,等等配置了系统环境变量目录下

    1.4K20

    使用 LangChain 和 Elasticsearch 实现隐私优先的人工智能搜索

    我很喜欢我同事Jeff Vestal关于将 OpenAI 工具与 Elasticsearch 结合使用精彩演示,但本文将采用不同方法。...当我们进行提问,将使用 Elasticsearch 向量搜索找到与该问题在语义上最相似的段落。...步骤 2-a, 在 Elasticsearch 中加载嵌入 完整代码显示了我如何仅使用 LangChain 来完成此操作。...最终结果:这种方法在Elastic Cloud上运行节点上花费了40分钟,每小时成本为5美元,比我本地运行要快得多,并且与处理嵌入式向量OpenAI当前 token 费用相当。...使用 Elastic Cloud,需要再每小时花费 5 美元机器上运行 40 分钟。 加载数据后,请记住使用云控制台将 Cloud ML 缩小到零更合理值。

    2.7K62

    【学员分享】程序员效率神器,最常用VIM插件安装大全

    按照以前经验在网上搜了一大堆配置方法,总想着直接一下就配置好,直接拷贝粘贴,结果有的插件根本没有作用。想一键运行程序,结果根本不行,不能用,作为小白,完全不知道问题在哪,花了大概两三天都没配成功。...红色+python3说明vim支持python3,-号表明不支持。如果没有加入Python支持,如果使用YouCompleteMe(补全插件)就会出现警告。...apt-get install python-dev python3-dev 说明:linux发行版通常会把类库头文件和相关pkg-config分拆成一个单独xxx-dev(el)包....(pkg=package) python-dev或者其他*.devel软件一般都是C语言编写一些头文件cpp文件,往往是其他模块这我们自己写模块在编译,需要依赖这些*-devel软件包。.../install.py文件 如下图所示,默认状态下python3为Anacondapython3 ?

    1.7K10

    【Django】 开发:静态文件,应用和模型层

    : 配置静态文件访问路径 通过哪个 url 地址找静态文件 STATIC_URL = ‘/static/’ 说明: 指定访问静态文件是需要通过 /static/xxx 127.0.0.1:8000...通过简单配置就可以轻松更换数据库, 而不需要修改代码. ORM 缺点 对于复杂业务,使用成本较高 根据对象操作转换成SQL语句,根据查询结果转化成对象, 在映射过程中有性能损失....字段选项为这些字段提供附加参数信息 字段类型 1.BooleanField() 数据库类型:tinyint (1) 编程语言中:使用 True False 来表示值 在数据库中:使用 1 ...设置此字段在admin界面上显示名称。...Shell 可以代替编写View代码来进行直接操作 在Django Shell 下只能进行简单操作,不能运行远程调式 启动方式: $ python3 manage.py shell

    1.8K20

    linux系统相关2

    linux运行批处理文件(bat)bat是批处理文件,在windows和linux上都可以使用。不过在linux命令行中不可以直接敲"xxx.bat",系统会去找所有的命令。.../"是告诉系统在当前目录下找名为"xxx.bat"文件执行。在bat文件中不可以使用windows特有的命令。...:nohupnohup直接执行nohup python3 main.py 查看服务运行日志 tail -f nohup.out& 表示后台运行将输出放到 main.log 文件中nohup python3...(修改sudoers文件)在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置才会使用,而root用户密码也不可能公开。...在使用sudo命令过程中,我们经常会遇到当前用户不在sudoers文件中提示信息,如果解决该问题呢?通过下面几个步骤,可以很简单解决此问题。

    13610

    网罗几种中Python配置文件方式,总有一款适合你

    ,在Python2和Python3使用方式略有差异 是否是标准库 标准库,Python2上和Python3上包名称有差异 不需要额外安装模块算是优点之一 python2中包名称首字母大写 python2...,不少项目开始把自己配置文件换成了yaml文件格式 是否是标准库 非标准库,需要单独安装,另外需要注意是,yaml编写格式对齐有要求,一定要特别注意,常见使用有gitlab-ci配置文件,k8s...,使用起来直接导入对应包即可 演示 python2 >>> import example_consts >>> example_consts.ADDRESS 'beijing' >>> >>> example_consts.NAME...,是需要区分环境不同环境连接DB和中间件地址部分常量是有所差异,这个时候就需要以环境区分来进行加载操作,一般是在入口文件里定义一个变量,启动去读取这个变量,如果存在就按照指定环境配置启动...,如果没有显示定义,就按默认配置启动。

    1.4K30

    Python

    例如,运行 help('len') 命令——这将显示出有关 len 函数帮助,了解其是用来计算项目数量。 按下 q 键可以退出帮助。...放到 ~/.qqbot-tmp/plugins/ 目录下( ~ 代表用户主目录, windows 下为 C:\Users\xxx\.qqbot-tmp\plugins\, xxx 代表用户名 ),系统中可以...但是实际是自己电脑充当服务器功能,当把执行有 qqbot 命令行窗口关闭,便无法继续检测了。 这时就需要挂载到 24h 运行服务器上了。自己这里买了阿里学生云主机,便直接拿来使用了。...安装 python (我使用是 Linux Ubuntu 系统) sudo apt-get install python3.5 (其他不同系统安装皆可百度谷歌解决) Linux 插件目录为 ~/.qqbot-tmp...结果一搜,真的有,不过看了看,很多还不完善,有的还显示敬请期待。不过,既然有这份心思,让我对小爱好感又升一层了。

    89510

    Cobalt Strike多种上线提醒方法

    利用此文所提供信息而造成直接间接后果和损失,均由使用者本人负责。 乌鸦安全拥有对此文章修改、删除和解释权限,如转载传播此文章,需保证文章完整性,未经授权,不得用于其他。...进行替换: content 部分信息可以自定义修改,修改完成之后,可以在本地使用python3进行测试: 运行之后,微信收到通知: 测试成功之后,将文件传到服务器上,并且对 PushPlus.cna...文件进行配置: 其中红色部分为你当前文件路径: 在配置完Cobalt Strike之后,可以用命令启动该脚本将其挂载到后台,注意你运行路径 nohup sudo ....● [port] # cs 端口号,启动 cs 时有显示。 ● [user] # 后台挂载脚本连接到 teamserver 用户名。 ● [pass] # 启动服务端 cs 设置密码。...运行成功之后,可以使用ps -aux | grep agscript 查看当前进程: 当有新主机上线,在微信中会收到提醒: 03设置微信多人提醒 Cobalt Strike优点就是支持多人同时进行操作

    1.3K10

    【SCF CLI实践】腾讯云serverless + 企业微信群机器人,轻松解决告警通知问题

    今天(2019-6-28)在更新企业微信,发现增加了个群机器人功能,赶紧查了一下文档发现挺符合需求。...群机器人优点是,通知基于群组,有问题直接可以在群内沟通,也不会存在重新拉群还需要介绍背景,人员发生变动拉新人进群即可。...另外,目前测试如果群内有外部人员,是无法使用群机器人,不知道后面会不会放开。...key=acd8cabe-xxx-xxx' -H 'Content-Type: application/json' -d '{"msgtype":"text","text":{"content":"hello...本地运行结果如下: [006tNc79ly1g4h7b54oh2j307f06wmxw.jpg] 关于本地调试,因为场景过于简单,我是直接在pycharm中配置环境变量后运行

    14.2K116

    Python:虚拟环境

    ,在不同环境下安装对应模块,迁移时也把整个环境迁移过去即可 虚拟环境作用:项目之间环境隔离 开发:本地环境 线上:多环境隔离 一、Linux用户 1.安装virtualenv sudo pip3...来创建虚拟环境,不管是创建还是激活时候都要先cd到具体目录下去,这样显得不方便。...: No shch file or directory,其原因是你在安装virtualenvwrapper,你没有在前面加上sudo,你可以使用sudo pip3 uninstall virtualenvwrapper...将其卸载后,重新加上sudo命令重装,将’.bashrc’文件中source 换成如下语句。...配置环境变量 如果不配置环境变量,创建后虚拟环境默认存储在当前用户(C:/Users/xxx)下Env文件夹下,如果你想要把虚拟环境存储在你指定存储路径,那么就修改环境变量 新建有一个变量名叫 WORKON_HOME

    58620

    linux下搭建django记录笔记,未完稿,节后继续

    使用ECS服务,有时需要更新apt-get,故先要先执行第一步 使用:SSH连接 1:更新apt-get #sudo apt-get update   当用apt-get更新软件包时常出现错误提示...继续更新: #sudo apt-get upgrade 2.安装Django (这里使用是pip,当然easy_install也是可以) sudo pip install django...:(V大写会显示版本号和模块等信息、v小写仅显示版本信息。)...既有 py2 还有 py3 ,pip啥也是乱七八糟,有脏东西,改用 python3 自带 venv 创建纯净,只有 python3 ,pip也只对应 python3 虚拟环境 创建虚拟环境...,kmind为虚拟环境所在文件夹名称 kmind/bin 里 python 和 python3 全都是 python3.5 使用 pip 安装 包也都是对应 python 3.5

    1.2K50

    python0037_字符画艺术_asciiview_自制小动物_imagick_asciiart

    把 figlet 输出结果 用管道 交给了 cowsay 把 cowsay 输出结果 用管道 交给了 lolcat 最后 提权 直接运行 shell程序 这一路真的好远啊!...python3 是脚本解释器shell 也是脚本解释器 其实我们是 在shell中 利用 python3 输出结果用shell 把 python和figlet等程序 粘了起来 不过这一路 真的好绕 要是能在...updatesudo apt install aviewsudo apt install imagemagick 下载字符画软件 aviewimagemagick​编辑运行程序​编辑 使用 asciiview...可以 将图片 转化为 asciiartasciiview panda.jpg存储字符画 通过 查询帮助 发现 字符画可以 保存为文本、网页等形式 在运行 asciiview xxx.png之后出现了...oeasy.cow#使用编辑器编辑sudo vi oeasy.cow ~/Code/ooo.txt​编辑修改字符画 新动物名 cat 可以用了 图案 还是 原来字符画​编辑怎么使用diy字符画呢

    88940

    python学习第一讲,python简介

    ,可以把这部分程序用 C C++ 编写,然后在 Python 程序中使用它们 …… 缺点: 运行速度 国内市场较小 中文资料匮乏 二丶第一个python程序 1.python源程序概念 python...linux中输入: python xxx.py即可.这个使用解释器是2.x,而 python3 xxx.py使用 解释器则是python3.0 此时需要你安装python解释器....2.python解释器 上面我们说了.执行python源码,需要使用python命令.python解释器有两个版本 一个是 python 2.xxx 名字显示为python 另一个是python 3.0...3.执行python三种方式 # 使用 python 2.x 解释器 $ python xxx.py # 使用 python 3.x 解释器 $ python3 xxx.py 其他解释器(知道)...官方解释器* 直接在终端中运行解释器,而不输入要执行文件名 在 Python Shell 中直接输入 Python 代码,会立即看到程序执行结果 2.)

    58020

    Python 中更优雅环境变量设置方案

    好,接下来我们什么也设置,直接运行,看下结果python3 main.py 结果如下: raise KeyError(key) from None KeyError: 'VAR1' 直接抛出来了一个错误...接下来我们在命令行下进行设置,运行如下命令: VAR1=germey python3 main.py 运行结果如下: germey 可以看到我们在运行之前,在命令行之前通过键值对形式对环境变量进行设置...我们这次再运行一遍原来命令: python3 main.py 结果如下: raise KeyError(key) from None KeyError: 'VAR1' 嗯,又抛错了。...下面来试试,还是执行原来命令: python3 main.py 结果如下: germey 可以,成功获取到了 VAR1 这个变量,后面我们运行每一个命令就都会生效了。...在代码中直接使用即可。 文件读取 如果我们一些环境变量是定义在文件中,environs 还可以进行读取和加载,默认会读取本地当前运行目录下 .env 文件。

    10.8K30
    领券