首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >区分大小写的排序Windows命令行

区分大小写的排序Windows命令行
EN

Stack Overflow用户
提问于 2016-01-23 20:30:39
回答 1查看 702关注 0票数 1

我有一个Python文件,它调用底层操作系统提供的区分大小写的排序例程。这个程序最初是在Unix中测试的。

代码片段如下所示:

代码语言:javascript
复制
def sort(path, filename, args=''):
   s = 'LC_ALL=C sort -S 50% --parallel=4 {0} {1} -o {1}'
   status = subprocess.call(s.format(args, os.path.join(path, filename)), shell=True)
   if status != 0:
      raise Exception('unable to sort file: {}'.format(filename))

但是,在Windows中运行此程序会引发错误

代码语言:javascript
复制
"LC_ALL=C :Command not found"

而且Windows中默认的“排序”例程区分大小写。

是否有相应的区分大小写的排序例程可以在Windows中调用或修改此命令以删除此问题?

EN

回答 1

Stack Overflow用户

发布于 2016-01-23 22:10:27

Unix中,LC_ALL是覆盖本地化设置的环境变量。可以使用sort标志覆盖/L命令中的本地化设置。

试试看以下几点。我没测试过。Windows命令是基于文档放在一起的。

另外,对于平台确定,请看一下如何在Python中找到当前的操作系统?[复本]

代码语言:javascript
复制
import os
import sys
import subprocess


def sort(path, filename, args=''):
    if 'win' in sys.platform.lower():
        s = 'sort /L /C {0} /o {1}'
    else:
        s = 'LC_ALL=C sort -S 50% --parallel=4 {0} {1} -o {1}'
    status = subprocess.call(s.format(args, os.path.join(path, filename)), shell=True)
    if status != 0:
      raise Exception('unable to sort file: {}'.format(filename))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34968504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档