小编xeo*_*eor的帖子

在python中执行ls输出魔术

我希望在bash或python脚本中创建与ls创建的输出相同的输出.我不是指列出目录,但ls确实能够"循环".例:

# ls
a b c d

# ls | head -n 1
a

# for i in $(ls); do echo "file: $i"; done
file: a
file: b
file: c
file: d
Run Code Online (Sandbox Code Playgroud)

怎么可以这样,并在调用它时仍然显示一行?

使用选项卡不起作用.换行符只是强制它是多行.\ 000不起作用.

# echo -e "a\tb\tc\td" | head -n 1
a    b    c    d

echo -e "a\000b\000c\000d" | head -n 1
abcd
Run Code Online (Sandbox Code Playgroud)

猫-A不给我太多信息......

# cat -A <(ls --color=no)
a$
b$
c$
d$

# cat -A <(echo -e "a\nb\nc\nd")
a$
b$
c$
d$
Run Code Online (Sandbox Code Playgroud)

那么..如何在我的脚本中生成相同类型的输出?我在这里缺少任何控制角色吗?

python linux bash shell

3
推荐指数
1
解决办法
1703
查看次数

EventSource/SSE(Server-Sent-Svents) - 安全性

我已经阅读了w3规范@ http://www.w3.org/TR/eventsource/,了解了EventSource/SSE的工作原理,但是我找不到有关如何创建私有流的任何好信息.

基本上,我想创建一种将私有数据发送到特定用户会话的方法.以下两个想法似乎都符合我的要求,但我不确定它们的安全性.

例; 连接到同一个EventSource URL的每个浏览器是否都会收到相同的数据,浏览器会跟踪它想要的事件名称?

var source = new EventSource('/stream');
source.addEventListener('l0ngr4nd0mSessionID', function(e){
    console.log('Received a private message:', e.data);
});
Run Code Online (Sandbox Code Playgroud)

没有事件名称l0ngr4nd0mSessionID的人是否能够获得此消息?

这个案子怎么样;

var source = new EventSource('/stream/l0ngr4nd0mSessionID ');
source.addEventListener('private', function(e){
    console.log('Received a private message:', e.data);
});
Run Code Online (Sandbox Code Playgroud)

这些示例和设置withCredentials选项一样好吗?我的sse服务器是一个独立的服务器,而不是主要的web服务器,所以我最好不要使用withCredentials发送身份验证数据,而是使用其中一个示例.

security html5 server-sent-events

3
推荐指数
1
解决办法
4625
查看次数

在 Django 中导入 global/app lib 文件夹

我有一个像这样的 Django 结构(仅显示库):

project/lib/ # Global libraries that will be used cross apps
project/lib/global_stuff.py
project/apps/app1/lib/special_for_app1.py
project/apps/app2/lib/special_for_app2.py
Run Code Online (Sandbox Code Playgroud)

有些应用程序没有 lib 文件夹。

from apps.app1.lib import special_for_app1工作正常。但是,当我位于已包含本地 lib 文件夹的文件夹中时,如何从全局 lib 文件夹导入?

从应用程序之一的应用程序views.py 文件内部:


from lib import global_stuff
Run Code Online (Sandbox Code Playgroud)

给我ImportError: cannot import name global_stuff


从 .lib 导入 global_stuff

给我ImportError: cannot import name global_stuff


from ..lib import global_stuff
Run Code Online (Sandbox Code Playgroud)

给我ImportError: No module named lib


from ...lib import global_stuff
Run Code Online (Sandbox Code Playgroud)

给我ValueError: Attempted relative import beyond toplevel package


from project.lib import global_stuff
Run Code Online (Sandbox Code Playgroud)

有效,但我真的不想在导入中使用项目名称本身。


有什么方法可以解决这个问题,不在导入中使用项目名称,或者改变整个库的想法。

或者还有其他好的做法来存储代码的主要部分吗?

python django

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

powershell中的这些对象是什么(1GB,11GB,...)

在Powershell中,你有一些数字的魔术后缀.也就是说,你可以前缀任意数量的MB,GB,TB,和一样,他们会以字节为单位返回的金额.

例;

PS C:\> 1TB
1099511627776

PS C:\> 123KB
125952
Run Code Online (Sandbox Code Playgroud)

这个黑魔法究竟是什么?它们显示为类型INT;

PS C:\> (123GB).getType() | ft -AutoSize

IsPublic IsSerial Name  BaseType        
-------- -------- ----  --------        
True     True     Int64 System.ValueType
Run Code Online (Sandbox Code Playgroud)

使用与普通INT相同的基本类型

PS C:\> ([int]123).getType() | ft -AutoSize

IsPublic IsSerial Name  BaseType        
-------- -------- ----  --------        
True     True     Int32 System.ValueType
Run Code Online (Sandbox Code Playgroud)

所以问题仍然存在;

  • 这些"事物"究竟是什么?
  • 我怎样才能创建自己的.
  • 在哪里/如何获得我可以使用的其他魔术前缀的列表?
  • 他们会是正确的吗?(ref kibibyte vs kilobyte(https://en.wikipedia.org/wiki/Kibibyte))

powershell

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

标签 统计

python ×2

bash ×1

django ×1

html5 ×1

linux ×1

powershell ×1

security ×1

server-sent-events ×1

shell ×1