小编Sha*_*ger的帖子

virtualenv不会复制lib/python目录中的所有.py文件

也许我不清楚virtualenv是如何工作的,但如果我使用--always-copy标志运行virtualenv,我希望复制/ lib/python中的所有文件.

所以我创建了一个虚拟环境

virtualenv -v --always-copy myenv
Run Code Online (Sandbox Code Playgroud)

输出是

Creating myenv/lib/python2.7
Symlinking Python bootstrap modules
  Copying to myenv/lib/python2.7/config
  Copying to myenv/lib/python2.7/lib-dynload
  Copying to myenv/lib/python2.7/os.py
  Ignoring built-in bootstrap module: posix
  Copying to myenv/lib/python2.7/posixpath.py
  Cannot import bootstrap module: nt
  Copying to myenv/lib/python2.7/ntpath.py
  Copying to myenv/lib/python2.7/genericpath.py
  Copying to myenv/lib/python2.7/fnmatch.py
  Copying to myenv/lib/python2.7/locale.py
  Copying to myenv/lib/python2.7/encodings
  Copying to myenv/lib/python2.7/codecs.py
  Copying to myenv/lib/python2.7/stat.py
  Copying to myenv/lib/python2.7/UserDict.py
  File myenv/lib/python2.7/lib-dynload/readline.so already exists
  Copying to myenv/lib/python2.7/copy_reg.py
  Copying to myenv/lib/python2.7/types.py
  Copying to myenv/lib/python2.7/re.py
  Copying to myenv/lib/python2.7/sre.py
  Copying to myenv/lib/python2.7/sre_parse.py
  Copying …
Run Code Online (Sandbox Code Playgroud)

python virtualenv custom-build python-2.7

7
推荐指数
1
解决办法
1727
查看次数

如何将文件路径+文件名放入列表?

我正在尝试获取包含文件路径和文件名的字符串列表。目前我只将文件名放入列表中。

代码:

hamFileNames = os.listdir("train_data\ham")
Run Code Online (Sandbox Code Playgroud)

输出:

['0002.1999-12-13.farmer.ham.txt', 
 '0003.1999-12-14.farmer.ham.txt', 
 '0005.1999-12-14.farmer.ham.txt']
Run Code Online (Sandbox Code Playgroud)

我想要一个类似于这样的输出:

['train_data\ham\0002.1999-12-13.farmer.ham.txt',
 'train_data\ham\0003.1999-12-14.farmer.ham.txt',
 'train_data\ham\0005.1999-12-14.farmer.ham.txt']
Run Code Online (Sandbox Code Playgroud)

python directory-listing

7
推荐指数
1
解决办法
2385
查看次数

Python os.rename和os.walk在一起

我刚写了一个python脚本来摆脱文件名中的一些烦人的后缀,

这是我的代码:

import os

for root, dirs, files in os.walk("path"):

    for filename in files:

        if filename.endswith("[AnnoyingTag].mov"):

            os.rename(filename, filename[:-18]+'.mov')
Run Code Online (Sandbox Code Playgroud)

但我在最后一行得到了错误:

OSError: [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)

我很确定我有正确的路径,因为我可以正确打印出所有文件名.

......真的不知道为什么这不起作用.

谢谢你的回答

python filenames os.walk

6
推荐指数
2
解决办法
5655
查看次数

如何在Python中向派生类的构造函数添加关键字参数?

我想为派生类添加关键字参数,但无法弄清楚如何去做.尝试显而易见的

class ClassA(some.package.Class):

    def __init__(self, *args, **kwargs):
        super(ClassA, self).__init__(*args, **kwargs)

class ClassB(ClassA):

    def __init__(self, *args, a='A', b='B', c='C', **kwargs):
        super(ClassB, self).__init__(*args, **kwargs)
        self.a=a
        self.b=b
        self.c=c
Run Code Online (Sandbox Code Playgroud)

失败了,因为我不能列出这样的参数ClassB__init__.和

class ClassB(ClassA):

    def __init__(self, *args, **kwargs):
        super(ClassA, self).__init__(*args, **kwargs)
        self.a=a
        self.b=b
        self.c=c
Run Code Online (Sandbox Code Playgroud)

当然不起作用,因为没有指定新的关键字.

如何__init__为派生类添加关键字参数?

python constructor keyword-argument python-2.7

6
推荐指数
1
解决办法
2453
查看次数

符合IEEE-754标准的半圆到偶数

C标准库提供的round,lroundllround家庭的C99功能.但是,这些功能不符合IEEE-754标准,因为它们没有实现IEEE规定的半个到偶数的"银行家舍入".如果小数分量恰好为0.5,则半到均匀舍入要求将结果四舍五入到最接近的偶数值.相反,如cppreference.com上所述,C99标准要求半个零距离

1-3)计算最接近arg的整数值(浮点格式),将中间情况舍入为零,不管当前的舍入模式如何.

在C中实现舍入的通常的临时方法是(int)(x + 0.5f)尽管在严格的IEEE-754数学中不正确,但通常由编译器将其转换为正确的cvtss2si指令.然而,这肯定不是一个可移植的假设.

如何实现一个函数,它将使用半对偶语义对任何浮点值进行舍入?如果可能,该函数应仅依赖于语言和标准库语义,以便它可以在非IEEE浮点类型上运行.如果这不可能,则根据IEEE-754位表示定义的答案也是可接受的.请用<limits.h>或表示任何常数<limits>.

c c++ floating-point bankers-rounding ieee-754

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

python3中的UnicodeEncodeError

我的一些应用程序库依赖于能够将 UTF-8 字符打印到 stdout 和 stderr。因此,这不能失败:

print('\u2122')
Run Code Online (Sandbox Code Playgroud)

在我的本地机器上它可以工作,但在我的远程服务器上它引发 UnicodeEncodeError: 'ascii' codec can't encode character '\u2122' in position 0: ordinal not in range(128)

我试过$ PYTHONIOENCODING=utf8没有明显效果。

sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
Run Code Online (Sandbox Code Playgroud)

工作了一段时间,然后停止并最终失败 ValueError: underlying buffer has been detached

sys.getdefaultencoding()返回'utf-8', 并sys.stdout.encoding返回'ANSI_X3.4-1968'

我能做什么?我不想编辑第三方库。

python unicode locale utf-8 python-3.x

6
推荐指数
1
解决办法
2208
查看次数

JavaScript 中的凯撒密码

我正在尝试编写一个程序来解决javascript中的以下问题(写在本段下面)。我不知道为什么我的代码不起作用。有人可以帮助我吗?我是 JavaScript 新手;这是一个免费的代码训练营问题。

\n\n

“现代常见的用法是 ROT13 密码,其中字母的值移动 13 位。因此 \'A\' \xe2\x86\x94 \'N\'、\'B\' \xe2\x86\ x94\'O\' 等等。

\n\n

编写一个函数,将 ROT13 编码字符串作为输入并返回解码后的字符串。”

\n\n

\r\n
\r\n
function rot13(str) { // LBH QVQ VG!\r\n  \r\n  var string = "";\r\n  for(var i = 0; i < str.length; i++) {\r\n    var temp = str.charAt(i);\r\n    if(temp !== " " || temp!== "!" || temp!== "?") {\r\n       string += String.fromCharCode(13 + String.prototype.charCodeAt(temp));\r\n    } else {\r\n      string += temp;\r\n    }\r\n  }\r\n  \r\n  return string;\r\n}\r\n\r\n// Change the inputs below to test\r\nconsole.log(rot13("SERR …
Run Code Online (Sandbox Code Playgroud)

javascript caesar-cipher

6
推荐指数
2
解决办法
5万
查看次数

在 Python 中一行编写阶乘函数

我希望通过以不同的方式执行相同的代码来改进我的编码,这不仅是为了帮助我更好地编码,而且还可以理解不同人的代码和他们的编码风格。有人可以解释一下我如何能够纠正类似于下面在一行中发布的阶乘函数吗?也欢迎使用 lambda 函数。

def factorial(number):
    fact = 1
    for i in range(1, number + 1):
        fact *= i
    return fact
Run Code Online (Sandbox Code Playgroud)

我知道我可以递归地写这个,但我选择不这样做。

python lambda function python-2.x

6
推荐指数
1
解决办法
5087
查看次数

Python ABI标记中的'm'是什么意思?

PEP 425解释了内置python发行版的兼容性标记格式,但没有详细解释ABI标记.

ABI标签可以以字母"d","m"和"u"的组合结束.作为一个例子,它是在PEP的"d"指ABI调试中解释,而这个答案解释说,"U"表示编译的解释--enable-unicode=ucs4,但我无法找到的"M"任何地方的意思.

python abi

6
推荐指数
1
解决办法
508
查看次数

如何在 C API 中创建 Python 字节对象

我有一个 s 的 Numpy 向量,我正在尝试使用 C API尽快从中bool获取对象。bytes(理想情况下,我想将向量的二进制值映射到字节对象。)

我可以成功读入向量并且我有数据bool_vec_arr。我想创建一个int并以这种方式设置它的位:

PyBytesObject * pbo; 
int byte = 0;
int i = 0;
while ( i < vec->dimensions[0] )  
{
    if ( bool_vec_arr[i] )
    {
        byte |= 1UL << i % 8;
    }
    i++;
    if (i % 8 == 0)
    {
        /* do something here? */
        byte = 0;
    }
}
return PyBuildValue("S", pbo); 
Run Code Online (Sandbox Code Playgroud)

但我不确定如何使用 中的 byte 值pbo。有没有人有什么建议?

python python-c-api python-3.x

6
推荐指数
1
解决办法
1916
查看次数