首页 / PYTHON / 使用python创建命令行别名
使用python创建命令行别名
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用python创建命令行别名,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1427字,纯文字阅读大概需要3分钟。
内容图文
![使用python创建命令行别名](/upload/InfoBanner/zyjiaocheng/825/f95a5a399aed408aabfa86a40bdd2deb.jpg)
我想在我的一个python脚本中创建命令行别名.我已经尝试过os.system(),subprocess.call()(有和没有shell = True)和subprocess.Popen(),但我没有运气这些方法.为了让您了解我想要做的事情:
在命令行上,我可以创建此别名:
别名hello =“echo’hello world’”
我希望能够运行一个为我创建这个别名的python脚本.有小费吗?
我也有兴趣能够在python脚本中使用这个别名,比如使用subprocess.call(别名),但这对我来说并不像创建别名那样重要.
解决方法:
你可以这样做,但你必须小心,以便别名措辞正确.我假设您使用的是类似Unix的系统并使用?/ .bashrc,但是其他shell也可以使用类似的代码.
import os
alias = 'alias hello="echo hello world"\n'
homefolder = os.path.expanduser('~')
bashrc = os.path.abspath('%s/.bashrc' % homefolder)
with open(bashrc, 'r') as f:
lines = f.readlines()
if alias not in lines:
out = open(bashrc, 'a')
out.write(alias)
out.close()
如果你希望别名立即可用,那么你可能不得不在之后使用?/ .bashrc.我不知道从python脚本执行此操作的简单方法,因为它是内置的bash并且您无法从子脚本修改现有的父shell,但它将可用于您打开的所有后续shell,因为它们将来源bashrc.
编辑:
更优雅的解决方案:
import os
import re
alias = 'alias hello="echo hello world"'
pattern = re.compile(alias)
homefolder = os.path.expanduser('~')
bashrc = os.path.abspath('%s/.bashrc' % homefolder)
def appendToBashrc():
with open(bashrc, 'r') as f:
lines = f.readlines()
for line in lines:
if pattern.match(line):
return
out = open(bashrc, 'a')
out.write('\n%s' % alias)
out.close()
if __name__ == "__main__":
appendToBashrc()
内容总结
以上是互联网集市为您收集整理的使用python创建命令行别名全部内容,希望文章能够帮你解决使用python创建命令行别名所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。