我想在循环中创建bash别名,循环从命令中读取行.为了逐行读取输出,我相信我需要将输出管道输入read.但是,当我这样做时,别名不存在.
如果我在我的网站中包含以下内容.bashrc:
for x in a1 a2; do
eval "alias $x='echo foo'"
done
echo -e "a3\na4" | while read x; do
eval "alias $x='echo foo'"
done
Run Code Online (Sandbox Code Playgroud)
别名a1和a2存在,但a3并a4没有.这两个循环有什么区别?
我想就扩大了例如自动激活 从前面的回答给nosklo允许通过元组字典的访问.
nosklo的解决方案如下所示:
class AutoVivification(dict):
"""Implementation of perl's autovivification feature."""
def __getitem__(self, item):
try:
return dict.__getitem__(self, item)
except KeyError:
value = self[item] = type(self)()
return value
Run Code Online (Sandbox Code Playgroud)
测试:
a = AutoVivification()
a[1][2][3] = 4
a[1][3][3] = 5
a[1][2]['test'] = 6
print a
Run Code Online (Sandbox Code Playgroud)
输出:
{1: {2: {'test': 6, 3: 4}, 3: {3: 5}}}
Run Code Online (Sandbox Code Playgroud)
我有一个案例,我想设置一个节点给定一些任意的下标元组.如果我不知道元组将有多少层,我该如何设计一种设置适当节点的方法?
我想也许我可以使用如下语法:
mytuple = (1,2,3)
a[mytuple] = 4
Run Code Online (Sandbox Code Playgroud)
但是我无法想出一个有效的实施方案.
我有一个基于@ JCash答案的完整工作示例:
class NestedDict(dict):
"""
Nested dictionary of arbitrary depth with autovivification.
Allows data access via …Run Code Online (Sandbox Code Playgroud) 我知道子模块,但有一个奇怪的边缘情况,我想避免为外部存储库的代码保留一个单独的目录.
我的毕业论文有一个LaTeX项目:https: //github.com/jklukas/gradthesis
它使用我保存在一个单独的存储库中的样式文件(供其他人轻松使用):https: //github.com/jklukas/uwthesis
我可以将uwthesis包含为子模块,但LaTeX只在主目录中查找样式文件.在LaTeX中有一些常见的方法,比如在导入样式文件时给出显式路径,但这看起来很难看.
目前,我只是uwthesis.sty在gradthesis回购中保留一份副本.是否可以配置uwthesis为远程并且能够仅针对这一个文件推送更改?
我正在模仿ConfigParser模块的行为来编写一个高度专业化的解析器,它利用我使用的特定应用程序的配置文件中的一些定义良好的结构.这些文件遵循标准的INI结构:
[SectionA]
key1=value1
key2=value2
[SectionB]
key3=value3
key4=value4
Run Code Online (Sandbox Code Playgroud)
对于我的申请,这些部分基本上无关紧要; 来自不同部分的密钥之间没有重叠,并且所有用户只记住密钥名称,而不是他们应该进入哪个部分.因此,我想覆盖__getattr__并且__setattr__在MyParser我创建的类中允许快捷方式像这样:
config = MyParser('myfile.cfg')
config.key2 = 'foo'
Run Code Online (Sandbox Code Playgroud)
该__setattr__方法首先尝试查找一个被调用的部分key2,并将其设置为'foo'(如果存在).假设没有这样的部分,它会在每个部分内部查找一个名为的密钥key2.如果密钥存在,则将其设置为新值.如果它不存在,解析器最终会引发一个AttributeError.
我已经构建了一个测试实现,但问题是我还想要一些免除这种行为的直接属性.我想config.filename成为一个包含原始文件名称的简单字符串,并且config.content是包含每个部分的字典的字典.
是否有一种干净的方法来在构造函数中设置filename和content属性,以避免被我的自定义getter和setter忽略?__dict__在调用自定义之前,python是否会在对象中查找属性__setattr__?
我想在我现有的博客上重新创建以下页面的外观:http: //jeff.klukas.net/bio/
这里的标志是我们有两列,左边的图像和右边的文字,没有文字包裹在图像下面.此外,图像出现在垂直位置,将它们置于文本的上下文中.
当前设计使用Blueprint CSS,每对图像和文本都有成对的div.我想创建一个自适应设计,可以缩小到单个列以获得更小的浏览器宽度,因此源(从Markdown生成)看起来像:
<img src=img1.png>
<p>First paragraph...</p>
<img> src=img2.png>
<p>Second paragraph...</p>
Run Code Online (Sandbox Code Playgroud)
哪个会在狭窄的屏幕上显示为:
------------
|img1 |
------------
First paragraph
------------
|img2 |
------------
Second paragraph
Run Code Online (Sandbox Code Playgroud)
或者在宽屏幕上:
------------ First paragraph...
|img1 | more text more text
------------ more text more text
more text more text
more text more text
more text more text.
------------ Second paragraph...
|img1 | more text more text
------------ more text more text
more text more text
more text more text
more text more …Run Code Online (Sandbox Code Playgroud)