小编mat*_*kie的帖子

启动新的cmd.exe而不是继承环境?

如果我从现有shell启动新的CMD shell,则新shell将继承现有环境.有没有办法启动一个新的shell,但它已初始化为系统默认值而不是继承?

目前的结果:

B:\>set _test=blooharky

B:\>cmd
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

B:\>set _
_test=blooharky
Run Code Online (Sandbox Code Playgroud)

期望的结果:

B:\>set _test=blooharky

B:\>cmd /env=default
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

B:\>set _
Environment variable _ not defined
Run Code Online (Sandbox Code Playgroud)

[更新]此解决方案start /i cmd由dbenham共享,如下所示.但是,在当前shell已经是第二代的情况下它没有帮助.例:

d:\>set _
Environment variable _ not defined

d:\>set _test=blooharky

d:\>cmd /k

:: some work done using _test here...
:: ...but after we need a new clean shell: …
Run Code Online (Sandbox Code Playgroud)

cmd batch-file

28
推荐指数
4
解决办法
2万
查看次数

如何更好地打印列表?

这类似于如何在"很好地"打印Python中的列表,但我想更好地打印列表 - 没有括号和撇号和逗号,甚至更好的列.

foolist = ['exiv2-devel', 'mingw-libs', 'tcltk-demos', 'fcgi', 'netcdf', 
    'pdcurses-devel',     'msvcrt', 'gdal-grass', 'iconv', 'qgis-devel', 
    'qgis1.1', 'php_mapscript']

evenNicerPrint(foolist)
Run Code Online (Sandbox Code Playgroud)

期望的结果:

exiv2-devel       msvcrt        
mingw-libs        gdal-grass    
tcltk-demos       iconv         
fcgi              qgis-devel    
netcdf            qgis1.1       
pdcurses-devel    php_mapscript 
Run Code Online (Sandbox Code Playgroud)

谢谢!

python printing

17
推荐指数
6
解决办法
4万
查看次数

argparse帮助没有重复的ALLCAPS

我想为我的选项显示argparse帮助以同样的方式默认-h,--help并且-v,--version是,没有选项后ALLCAPS文本,或至少不重复的CAPS.

import argparse
p = argparse.ArgumentParser("a foo bar dustup")
p.add_argument('-i', '--ini', help="use alternate ini file")
print '\n', p.parse_args()
Run Code Online (Sandbox Code Playgroud)

这就是我目前得到的python foobar.py -h:

usage: a foo bar dustup [-h] [-i INI]

optional arguments:
  -h, --help            show this help message and exit
  -i INI, --ini INI     use alternate ini
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

usage: a foo bar dustup [-h] [-i INI]

optional arguments:
  -h, --help            show this help message and exit
  -i, --ini INI         use alternate …
Run Code Online (Sandbox Code Playgroud)

python argparse

17
推荐指数
2
解决办法
4984
查看次数

如何从第N个位置获取批处理文件参数?

继续如何在批处理文件中传递命令行参数如何通过完全指定参数来获取其余参数?我不想使用SHIFT,因为我不知道可能有多少参数,并且如果可以的话,我们希望避免对它们进行计数.

例如,给定此批处理文件:

@echo off
set par1=%1
set par2=%2
set par3=%3
set therest=%???
echo the script is %0
echo Parameter 1 is %par1%
echo Parameter 2 is %par2%
echo Parameter 3 is %par3%
echo and the rest are %therest%
Run Code Online (Sandbox Code Playgroud)

跑步mybatch opt1 opt2 opt3 opt4 opt5 ...opt20会产生:

the script is mybatch
Parameter 1 is opt1
Parameter 2 is opt2
Parameter 3 is opt3
and the rest are opt4 opt5 ...opt20
Run Code Online (Sandbox Code Playgroud)

我知道%*给出所有参数,但我不是前三个(例如).

windows batch-file

15
推荐指数
2
解决办法
3万
查看次数

在vb6中获取字符串数组的最后一个元素?

如何在visual basic 6中检索字符串数组的最后一个元素?

我正在处理具有多个点的文件名,这些点被分成一个数组,我只想操纵扩展名.以下代码有效,但有一个我想删除的硬编码元素.

Private Sub Form_Load()
    Dim aPath() As String
    Dim FileName As String
    Dim realExt As String

    FileName = "A long dotty.file.name.txt"
    aPath = Split(FileName, ".")

    realExt = aPath(3) ' <-- how to not hardcode?'

    MsgBox ("The real extension is: " & realExt)
    Unload Me
End Sub
Run Code Online (Sandbox Code Playgroud)

vb6

15
推荐指数
1
解决办法
4万
查看次数

如何判断正在运行批处理文件的Windows和/或cmd.exe的版本?

如何确定正在运行批处理文件的Windows和/或cmd.exe的版本?

没有cmd /version我能够找到的,并且在命令提示会话中SET的结果不会给出任何明显独特的东西(无论如何在XP和Win7之间).

windows cmd

14
推荐指数
3
解决办法
6万
查看次数

可以在Windows上使用pudb调试器吗?

我们可以在Windows上使用pudb python调试器吗?如果是的话,你如何安装和工作?

当我尝试并使用安装ez_setup,python ez_setup.py .\path\to\pudb-unpacked,它失败ImportError: No module named termios,这似乎是仅用于UNIX的模块.

我正在使用Windows 7,x64.

python windows debugging

13
推荐指数
2
解决办法
3219
查看次数

是否可以从批处理文件或cmd脚本向DLL搜索路径添加目录?

MSDN说,函数SetDllDirectory()可用于将目录插入DLL搜索路径.可以从批处理文件或cmd脚本访问此函数,也许使用via cscript

我们的目标是在%WINDIR%等预先存在的旧版本之前找到我们的开发版本的dll,而不必为此编写程序.

提前感谢您的时间和想法.

dll cmd wsh batch-file

11
推荐指数
3
解决办法
3万
查看次数

如何使用csv.DictReader跳过前标题行?

我想csv.DictReader从文件中推断出字段名称.文档"如果省略fieldnames参数,csvfile第一行中的值将用作字段名." ,但在我的情况下,第一行包含标题,第二行包含名称.

我不能next(reader)按照Python 3.2申请跳过csv.DictReader中的一行,因为在初始化阅读器时会发生字段名称分配(或者我做错了).

csvfile(从Excel 2010导出,原始来源):

CanVec v1.1.0,,,,,,,,,^M
Entity,Attributes combination,"Specification Code
Point","Specification Code
Line","Specification Code
Area",Generic Code,Theme,"GML - Entity name
Shape - File name
Point","GML - Entity name
Shape - File name
Line","GML - Entity name
Shape - File name
Area"^M
Amusement park,Amusement park,,,2260012,2260009,LX,,,LX_2260009_2^M
Auto wrecker,Auto wrecker,,,2360012,2360009,IC,,,IC_2360009_2^M
Run Code Online (Sandbox Code Playgroud)

我的代码:

f = open(entities_table,'rb')
try:
    dialect = csv.Sniffer().sniff(f.read(1024))
    f.seek(0)

    reader = csv.DictReader(f, dialect=dialect)
    print 'I think the field names are:\n%s\n' …
Run Code Online (Sandbox Code Playgroud)

python csv

11
推荐指数
2
解决办法
1万
查看次数

Python:将setup.py"scripts ="迁移到entry_points

我想利用其他人的python实用程序foob​​artools,其原生环境是linux.Foobartools是纯粹的python,所以我没有理由不能在Windows上使用它.

setup.py他们的使用旧款式scripts=['bin/foobar'],.

正在运行pip install -e b:\code\foobar会创建一个名为foobarin 的文件%pythonhome%\Scripts,但即使Scripts位于PATH 中,Windows也不知道它.要使用它,我需要制作一个@python %pythonhome%\scripts\foobar批处理文件.这可行,但不是最优的(例如ctrl-c处理很难看).

我知道如果我将更新和推荐的entry_points语法添加到setup.py pip将自动Scripts\foobar.exe在Windows上创建(我可以抛弃批处理文件).在Linux上Scripts\foobar保持不变,每个人都很开心.

entry_points = {
    'console_scripts': ['foobar = foobartools:main'],
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何处理等式的右边,foobartools:main.如何打电话bin/foobar?该foob​​artools模块没有一个可调用的函数或模块一样,对应的bin脚本,脚本仓相对复杂.

我想尽可能少地对项目进行更改,以便a)补丁提交有更好的机会被上游接受,以及b)如果上游仍然不感兴趣,那么我做的工作就越少,以便跟上它.

[更新]现有的源树结构:

foobartools/
    bin/foobar
    foobartools/
        __init__.py
        foo/
            __init__.py
            one.py
            two.py
        bar/
            ...
        baz/
            ...
    setup.py
Run Code Online (Sandbox Code Playgroud)

python setup.py

11
推荐指数
1
解决办法
664
查看次数

标签 统计

python ×5

batch-file ×3

cmd ×3

windows ×3

argparse ×1

csv ×1

debugging ×1

dll ×1

printing ×1

setup.py ×1

vb6 ×1

wsh ×1