我希望在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)
那么..如何在我的脚本中生成相同类型的输出?我在这里缺少任何控制角色吗?
我已经阅读了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发送身份验证数据,而是使用其中一个示例.
我有一个像这样的 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)
有效,但我真的不想在导入中使用项目名称本身。
有什么方法可以解决这个问题,不在导入中使用项目名称,或者改变整个库的想法。
或者还有其他好的做法来存储代码的主要部分吗?
在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)
所以问题仍然存在;