python linux编程与window编程_用Python在Windows下模仿Linux的|which.exe|程序

简介用Python在Windows下模仿Linux的|which.exe|程序。这个程序会从Windows环境变量|PATH|里列出的所有目录中查找"可执行文件"。在Linux下|which.exe|通过文件的"可执行"属性来判断文件是否可执行不同。在Windows下我们通过扩展名来判断。如果一个文件的扩展名是|.exe|, |.bat|,或者任何在Windows环境变量|PATHEXT|中列出的...
摘要由CSDN通过智能技术生成

简介

用Python在Windows下模仿Linux的|which.exe|程序。

这个程序会从Windows环境变量|PATH|里列出的所有目录中查找"可执行文件"。

在Linux下|which.exe|通过文件的"可执行"属性来判断文件是否可执行不同。

在Windows下我们通过扩展名来判断。

如果一个文件的扩展名是|.exe|, |.bat|,或者任何在Windows环境变量|PATHEXT|中列出的扩展名(比如我们自己添加的|.py|),则认为这个文件为"可执行文件"。这个定义也符合Windows的CMD对"可执行文件"的定义。

源码

闲话少说,先上源码。实现的具体分析见源码中注释及源码后的分析。

__doc__ = """

Author: kuiyuyou@gmail.com

File: aoiwhich.py

"""

import sys

import os

def find_executable(program):

""" Given |program| which is the name or path of a program, find a list of

executable paths of the program.

#// Arguments

program: the name or path of a program. No need to include extension.

return: a list of executable paths of the program.

#// What an "executable" means?

An executable means an existing file whose extension is |.exe|, |.bat|, or

any other extensions listed in Windows environment variable |PATHEXT|.

#// What is the algorithm used to find all the executable paths?

Use each of dir paths listed in Windows environment variable |PATH| as parent dir.

Use each of extensions listed in Windows environment variable |PATHEXT| as extension.

Synthesize all the possible paths by combining each parent dir, the |program| given,

and each extension. (Empty parent dir and empty extension are two special cases.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值