小编Dan*_*Dan的帖子

Python def函数:如何指定函数的结尾?

我只是学习python并且在函数的"def"结束时感到困惑?

我看到代码示例如下:

def myfunc(a=4,b=6):
    sum = a + b
    return sum

myfunc()
Run Code Online (Sandbox Code Playgroud)

我知道它不会因为返回而结束(因为我已经看过if语句......如果FOO比返回BAR,否则返回FOOBAR).Python如何知道这不是一个自称的递归函数?当函数运行时,它只是继续通过程序直到它找到返回?这会导致一些有趣的错误.

谢谢

python syntax

42
推荐指数
4
解决办法
12万
查看次数

sqlite3正在切割/剪切/截断我的文本列

我将值切断,并希望显示完整的值.

Sqlite3 -column -header locations.dbs "
select n.namelist, f.state, t.state
from names n
left join locations l on l.id = n.id
left join statenames f on f.st = l.st
left join statenames t on t.st = l.stto
where n.timing > 200601 and count(n.timing)<=15"
Run Code Online (Sandbox Code Playgroud)

哪能给我

name        From State   To State  
----------  -----------  ----------
Jack        Connecticut  Louisiana 
Jeff Danie  New Hampshi  New Hampsh
Run Code Online (Sandbox Code Playgroud)

这些名称被截断为10个字符或第一行数据的长度,以较长者为准.如何在不使列大于它们的情况下阻止这种情况发生?

谢谢

sql sqlite truncate

23
推荐指数
2
解决办法
9546
查看次数

统计测量某些文件类型的磁盘空间

我有几个文件夹中的一些文件:

/home/d/folder1/a.txt
/home/d/folder1/b.txt
/home/d/folder1/c.mov
/home/d/folder2/a.txt
/home/d/folder2/d.mov
/home/d/folder2/folder3/f.txt
Run Code Online (Sandbox Code Playgroud)

如何测量/ home/d /中所有.txt文件占用的磁盘空间总量?

我知道du会给我一个给定文件夹的总空间,ls -l会给我单个文件的总空间,但是如果我想要添加所有txt文件并查看所有人占用的空间该怎么办.对于/ home/d /中的所有.txt,包括folder1和folder2以及像folder3这样的子文件夹,一个巨大的总txt文件

unix linux bash diskspace

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

Shred:对Journaled FS不起作用?

碎片文件称碎片"不能保证有效"(见下图).因此,如果我在Ext3文件系统或Raid上粉碎文档,会发生什么?我切碎了部分文件吗?它有时会破坏整个事物,有时不会吗?它可以粉碎其他东西吗?它只会粉碎文件头吗?

注意:请注意,shred依赖于一个非常重要的假设:文件系统会覆盖数据.这是传统的做事方式,但许多现代文件系统设计并不满足这一假设.以下是Shred无效或不保证在所有文件系统模式下有效的文件系统示例:

  • 日志结构或日志文件系统,例如AIX和Solaris(以及JFS,ReiserFS,XFS,Ext3等)提供的文件系统

  • 即使某些写入失败也会写入冗余数据并继续执行的文件系统,例如基于RAID的文件系统

  • 制作快照的文件系统,例如Network Appliance的NFS服务器

  • 缓存在临时位置的文件系统,例如NFS版本3客户端

  • 压缩文件系统

在ext3文件系统的情况下,上述免责声明仅适用于数据=日志模式(并且除了仅仅元数据之外还记录文件数据)时,应用(并且碎片因此效果有限).在data = ordered(默认)和data = writeback模式中,shred像往常一样工作.可以通过在/ etc/fstab文件中的特定文件系统的mount选项中添加data = something选项来更改Ext3日记记录模式,如mount man page(man mount)中所述.

linux filesystems journal shred

10
推荐指数
2
解决办法
5587
查看次数

在Vim中自动插入注释

我的SAS代码需要这种评论方式:

/*
* This is the comment
*/
Run Code Online (Sandbox Code Playgroud)

我已经能够输入这个命令(来自Vim评论指南):

:set comments=sl:/*,mb:*,elx:*/
Run Code Online (Sandbox Code Playgroud)

问题是,一旦我键入此set命令,我不知道如何实际将这些注释添加到代码中.指令说要键入/\*<enter>但在插入模式下这只是正常工作,而在命令模式下,它会执行查找*.

我如何使这个工作,并有更好的方法来自动插入注释标记?

vim comments autocomplete

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

得到numpy警告整数溢出

主要使用python,我已经被宠坏了,不必担心整数溢出.现在我正在使用numpy,我不得不再次担心它.我想在溢出的情况下numpy错误,但它似乎不适用于int64.

import numpy
numpy.seterr(all='raise')
print("{:,}".format(numpy.prod([10]*50)))
# -5,376,172,055,173,529,600
print("{:,}".format(numpy.int64(3200000000) * numpy.int64(3200000000)))
# -8,206,744,073,709,551,616
print("{:,}".format(numpy.int32(320000) * numpy.int32(320000)))
# FloatingPointError: overflow encountered in int_scalars -- Finally getting an error!
Run Code Online (Sandbox Code Playgroud)

我总是可以添加dtype=object修复这些问题,但我认为int64在大多数情况下都是足够好的,它可能会因为难以检测的方式而失败.

为什么seterr只适用于int32?我可以让它适用于int64吗?

我可以找到的numpy.seterr文档的唯一部分可能暗示为什么会出现这种情况的原因如下:

请注意,对整数标量类型(如int16)的操作将像浮点一样处理,并受这些设置的影响.

但是数据类型文档中没有任何内容表明int32和int64在某种程度上在概念上是不同的.不确定int64是否被视为"整数标量类型".

python numpy integer-overflow

10
推荐指数
1
解决办法
452
查看次数

Bash:为什么echo会增加额外的空间?

我明白了:

$ echo -e "D"{a,b,c}".jpg\n"
Da.jpg
 Db.jpg
 Dc.jpg
Run Code Online (Sandbox Code Playgroud)

注意:输出的第2行和第3行上的Db和Dc之前的额外空格.

这些为什么?

谢谢,丹

编辑:因为我的实际目标中有空格(我本应该写的):

echo -e "Name"{,.}" "{-,}"extra"{,so}" 5v5 "{one,two,No\ four}{,!,\!\!}"\n"
Run Code Online (Sandbox Code Playgroud)

这里的大多数解决方案对我都不起作用(for loop,xarg,tr).Printf没有工作,因为我想要cantesian产品的多个括号扩展.

我结合了3个解决方案(mletterle的\ b,Dennis Williamson的额外空间,以及Jim Dennis的使用少得多的报价)来得到:

echo -e "" \\bName{,.}\ {-,}extra{,so}\ 5v5\ {one,two,No\ four}{,\!,\!\!}\\n
Run Code Online (Sandbox Code Playgroud)

谢谢所有回答的人!我从你的回答中学到了很多东西!

syntax bash echo

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

Gnu-Screen:运行脚本,将命令发送到正在运行的屏幕会话

是否有可能编写一个脚本来更改名称并打开当前选项卡的监视,假设它正在屏幕上运行?

谢谢.

bash gnu-screen

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

Mathematica:摆脱FindInstance结果中的"x - >"

假设我有以下结果:

a=FindInstance[2*b^2 + b^3 == b^4 + t && t < 10 && t > -1, {b, t}, 
  Integers, 20]
{{b -> -1, t -> 0}, {b -> 0, t -> 0}, {b -> 1, t -> 2}, {b -> 2, 
  t -> 0}}
Run Code Online (Sandbox Code Playgroud)

我如何摆脱"b->"并获得b答案的数组?我可以在那里半途而废:

a[[All,1]]
{b -> -1, b -> 0, b -> 1, b -> 2}
Run Code Online (Sandbox Code Playgroud)

但我怎么才能做到:

{-1, 0, 1, 2}
Run Code Online (Sandbox Code Playgroud)

谢谢

wolfram-mathematica

8
推荐指数
1
解决办法
4264
查看次数

SAS:在数据步骤中重新排列字段顺序

在SAS 9中,我如何在简单的数据步骤中重新排列字段的顺序.

Data set2;
  /*Something probably goes here*/
  set set1;
run;
Run Code Online (Sandbox Code Playgroud)

因此,如果set1具有以下字段:

Name   Title   Salary
A      Chief   40000
B      Chief   45000
Run Code Online (Sandbox Code Playgroud)

然后我可以将set2的字段顺序更改为:

Title  Salary  Name
Chief  40000   A
Chief  45000   B
Run Code Online (Sandbox Code Playgroud)

谢谢,

sas

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