解决Windows系统下Python不能使用export指令的困扰

export是linux系统下的指令,在window系统下不能使用,很不方便,本文复现了一下export的功能。

问题描述:

'export' 不是内部或外部命令

新建exporttest.py,代码如下:

import argparse
import sys
from pathlib import Path

parser = argparse.ArgumentParser()
parser.add_argument("--path", type=str, default="")
parser.add_argument("--deletepath", type=str, default="")
args = parser.parse_args()

# sys.path.append(r'newlib_path')

if __name__ == '__main__':

    exportpath = eval(repr(args.path).replace('\\', '\\\\'))
    exportpathlist=exportpath.split('AND')
    # print(pathlist)
    # print(sys.executable)

    deletepath = eval(repr(args.deletepath).replace('\\', '\\\\'))
    deletepathlist = deletepath.split('AND')

    filepath=sys.prefix+'\Lib\site-packages\myExportPath.pth'
    file = Path(filepath)

    if not file.exists():
        # print("File doesn't exist, this code will first create one and then add the paths!!!")
        with file.open('w') as f:
            for path in exportpathlist:
                f.write(path)
                f.write("\n")
        existingPaths = file.read_text()
        existingPathslist = filter(None, existingPaths.split('\n'))
        with file.open('w') as f:  # 创建并写入。
            for existingPath in existingPathslist:
                deleteFlag=False
                for path in deletepathlist:
                    if existingPath == path:
                        deleteFlag=True
                        break
                if deleteFlag==False:
                    f.write(existingPath)
                    f.write("\n")
        existingPaths = file.read_text()
        print("The export paths are: \n"+existingPaths)
    else:
        # print("The file exists, this code will add the paths to the existing file!!!")
        existingPaths=file.read_text()
        existingPathslist = filter(None,existingPaths.split('\n'))
        with file.open('a') as f:
            for path in exportpathlist:
                existingFlag=False
                for existingPath in existingPathslist:
                    if existingPath == path:
                        existingFlag=True
                        print("warning: the path "+path+" already exists")
                        break
                if existingFlag==False:
                    f.write(path)
                    f.write("\n")
        existingPaths = file.read_text()
        existingPathslist = filter(None, existingPaths.split('\n'))
        with file.open('w') as f:
            for existingPath in existingPathslist:
                deleteFlag = False
                for path in deletepathlist:
                    if existingPath == path:
                        deleteFlag = True
                        break
                if deleteFlag == False:
                    f.write(existingPath)
                    f.write("\n")
        existingPaths = file.read_text()
        print("The export paths are: \n" + existingPaths)
    # print(sys.path)

使用方法如下:

1、添加一条path

指令:

python exporttest.py --path XXXX  #XXXX为你需要export的路径

示例: 

2、 添加多条path,path中间用AND连接

指令:

python exporttest.py --path XXXXANDXXXX    #XXXX为你需要export的路径

示例: 

3、查看已经添加的path

指令:

python exporttest.py

示例: 

 

4、删除一条path

 指令:

python exporttest.py --deletepath XXXX  #XXXX为你需要删除的路径

示例:

5、删除多条path,同2,中间用AND连接 

  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值