小编Bra*_* W.的帖子

运行带参数的python脚本

我想从C调用Python脚本,传递脚本中需要的一些参数.

我想要使​​用的脚本是mrsync或多播远程同步.我从命令行开始工作,通过调用:

python mrsync.py -m /tmp/targets.list -s /tmp/sourcedata -t /tmp/targetdata
Run Code Online (Sandbox Code Playgroud)

-m是包含目标ip-addresses的列表.-s是包含要同步的文件的目录.-t是目标计算机上放置文件的目录.

到目前为止,我通过使用以下C程序设法运行没有参数的Python脚本:

Py_Initialize();
FILE* file = fopen("/tmp/myfile.py", "r");
PyRun_SimpleFile(file, "/tmp/myfile.py");
Py_Finalize();
Run Code Online (Sandbox Code Playgroud)

这很好用.但是,我无法找到如何将这些参数传递给该PyRun_SimpleFile(..)方法.

c python eclipse

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

对WPF项目控件中的最后一项使用不同的模板

我在itemscontrol中使用自定义模板来显示以下结果:

item 1, item 2, item3,
Run Code Online (Sandbox Code Playgroud)

我想更改最后一项的模板,结果变为:

item 1, item2, item3
Run Code Online (Sandbox Code Playgroud)

ItemsControl:

<ItemsControl ItemsSource="{Binding Path=MyCollection}">

    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal" IsItemsHost="True"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>

    <ItemsControl.ItemTemplate>
        <DataTemplate>

            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding Path=Name}"/>
                <TextBlock Text=", "/>
            </StackPanel>

        </DataTemplate>
    </ItemsControl.ItemTemplate>

</ItemsControl>
Run Code Online (Sandbox Code Playgroud)

有没有人可以为我的问题提供解决方案?谢谢!

wpf templates itemscontrol

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

MEF递归插件搜索

假设我在一个文件夹中有一些应用程序(每个应用程序都有可以找到插件的子文件夹):

  • 客户端
    • 申请A.
      • ...
    • 申请B.
      • ...
    • 申请C.
      • ...
    • ...

这些应用程序中的某些文件应用了Export属性,而其他文件则没有.现在,我希望能够在其中一些应用程序中加载这些插件.是否有一种正确的方法让MEF在指定文件夹的每个子文件夹中递归搜索?

c# recursion plugins mef

14
推荐指数
1
解决办法
2297
查看次数

页眉和页脚的幻灯片动画的差异

当我使用幻灯片动画时(在本例中我使用了slideToggle),我注意到滑动标题div和页脚div之间存在差异.

滑动页脚时,内容(在本例中为h1)与背景很好地滑动.标题div不是这种情况.似乎只有背景在移动,而我希望标题以与页脚相同的方式滑动.

请查看我在jsFiddle上制作的演示.谢谢.

css jquery jquery-mobile jquery-animate

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

禁用textarea中的文本选择

我需要找到一种方法来阻止用户在textarea中选择文本.目标是创建一个用于在textarea中输入文本的自定义键盘.我希望用户能够单击textarea来设置插入符号位置(现在已经可以使用了).但是,我不希望用户能够选择插入文本的某些部分,或者至少应该没有这种可视指示.我已经尝试过一些东西,比如下面的CSS,但没有成功.

textarea {
    -moz-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    user-select: none;
}
Run Code Online (Sandbox Code Playgroud)

解决方案可以是CSS和/或JavaScript,只需在Google Chrome中使用即可.谢谢!

更新:

禁用textarea对我不起作用.正如我所提到的,我希望用户能够通过单击位置将插入符号放在特定位置.如果我要禁用textarea,这个功能就会丢失.

@OPUS:该解决方案不适用于textareas.@andi:这是对的@Pointy:可以阻止键盘事件.用户不必使用键盘输入文本,而是使用我在页面上提供的自定义键盘.将其与屏幕键盘进行比较.@downvoters:这个问题有什么不好的?

html javascript css textarea

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

从自定义绑定调用标准Knockout单击绑定

我想在KnockoutJS中创建一个'条件点击'绑定.基本上这是一个标准的点击绑定,就像你在Knockout中使用它一样,但是需要满足一个条件才能执行附加的函数.就我而言,最好的选择是创建一个自定义绑定处理程序,然后在允许的情况下调用标准单击绑定.

ko.bindingHandlers.safeClick = {
    'init': function(element, valueAccessor, allBindingsAccessor, context) {
        $(element).click(function() {
            if(mycondition == true) {
                // call the standard click binding here -> this is the part I don't know
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

我想用这个自定义绑定替换所有标准点击绑定.因此,以正确的方式调用click绑定非常重要,因此HTML中提供的所有参数都会传递给该函数.例如:

<a href="#" data-bind="click: basevm.gotopage.bind($data, '#homepage')">Home</a>
<a href="#" data-bind="click: itemvm.activateItem">Activate</a>
Run Code Online (Sandbox Code Playgroud)

这些需要被替换

<a href="#" data-bind="safeClick: basevm.gotopage.bind($data, '#homepage')">Home</a>
<a href="#" data-bind="safeClick: itemvm.activateItem">Activate</a>
Run Code Online (Sandbox Code Playgroud)

如果你能帮我解决自定义绑定中缺少的部分,我将非常感激.

custom-binding knockout.js

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

FTP使用MKD命令创建路径

我需要使用命令将文件存储在FTP服务器上.例如FolderA/FolderB/FolderC/myfile.txt.我是否需要逐步创建每个文件夹?那将是:MKD FolderA MKD FolderB MKD FolderC STOR FolderA/FolderB/FolderC/myfile.txt

或者有更快/更好的方法来做到这一点?

ftp

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

使用ICollectionView多次过滤集合

我正在尝试过滤DataGrid中显示的ObservableCollection.这在第一次工作得很好,但是当我尝试再次过滤时,它使用sourcecollection而不是过滤结果.短代码示例:

ICollectionView view = CollectionViewSource.GetDefaultView(myCollection);
view.Filter = delegate(object item){
  User user = item as User;
  if(user != null && user.Name.ToLower().Contains(textbox.Text.ToLower())) return true;
  return false;
};
Run Code Online (Sandbox Code Playgroud)

所以我想要做的只是过滤我的DataGrid中显示的项目,而不是整个集合(当然第一次使用过滤器时,它将使用整个集合).

c# wpf filter collectionview icollectionview

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