小编Jub*_*les的帖子

从python中运行需要root访问权限的命令

我最近一直在玩子进程.正如我做的越来越多; 我发现自己需要root访问权限.我想知道是否有一种简单的方法来输入需要子进程模块的命令的root密码.所以当我提示输入密码我的脚本并提供它并运行命令.我知道这是一个不好的做法,代码将运行的地方是沙箱并与系统的其余部分分开; 我也不想以root身份运行.

如果可能的话,我会非常感谢小例子.我知道你可以用期望做到这一点,但我正在寻找更多以python为中心的东西.我知道pexpectexsists,但这个简单的任务有点过分.

谢谢.

python sudo subprocess

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

read.delim() - 错误"比列名更多的列"和"标题和''col.names"具有不同的长度"

初步信息 操作系统:Windows XP Professional版本2002 Service Pack 3; R版本:R 2.12.2(2011-02-25)

我试图使用该read.delim()函数读取一个30,000行80列,制表符分隔的文本文件到R中.此文件的列标题具有以下命名约定:"_".我用来尝试读取数据的代码是:

cc <- c("integer", "character", "integer", rep("character", 3), 
        rep("integer", 73))

example_data <- read.delim(file = 'C:/example.txt', row.names = FALSE,
                           col.names = TRUE, as.is = TRUE, colClasses = cc)
Run Code Online (Sandbox Code Playgroud)

提交此命令后,我收到以下错误消息:

Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
more columns than column names
In addition: Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote,  :
  header and 'col.names' …
Run Code Online (Sandbox Code Playgroud)

r read.table

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

PyQt - 是否可以运行两个应用程序?

两个文件。每个都运行新窗口并自行工作。我需要运行它们。
当我运行时first.pyw,仅显示一个(第二个)窗口。

有可能两个人都运行它们吗?

首先.pyw:

import sys
from PyQt4.QtGui import *
import second

class first(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.setWindowTitle('first')

app = QApplication(sys.argv)
firstApp = first()
firstApp.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

第二个.pyw:

import sys
from PyQt4.QtGui import *

class second(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.setWindowTitle('second')

app2 = QApplication(sys.argv)
secondApp = second()
secondApp.show()
sys.exit(app2.exec_())
Run Code Online (Sandbox Code Playgroud)

如何运行位于不同模块中的两个应用程序?

python user-interface pyqt

5
推荐指数
1
解决办法
5317
查看次数

得到flv视频长度

虽然我试图得到一个flv视频文件的长度我得到0秒,因为它只发生在一些视频,否则我的功能工作正常.

下面是我的代码.

<?php
function mbmGetFLVDuration($file){
    // read file
  if (file_exists($file)){
    $handle = fopen($file, "r");
    $contents = fread($handle, filesize($file));
    fclose($handle);
    //
    if (strlen($contents) > 3){
      if (substr($contents,0,3) == "FLV"){
        $taglen = hexdec(bin2hex(substr($contents,strlen($contents)-3)));
        if (strlen($contents) > $taglen){
          $duration = hexdec(bin2hex(substr($contents,strlen($contents)-$taglen,3)))  ;
          return $duration;
        }
      }
    }
  }
}
// not working video file
$result = ceil(mbmGetFLVDuration('not_working_copy.flv')/1000);
// working video file
//$result = ceil(mbmGetFLVDuration('working_copy.flv')/1000);
echo date('H:i:s',mktime(0,0,$result))
?>
Run Code Online (Sandbox Code Playgroud)

我在下面的链接中附加了工作和不工作的flv视频:

工作视频:http: //blog.developeronhire.com/wp-content/uploads/downloads/2011/06/working_copy.flv

不工作的视频:http: //blog.developeronhire.com/wp-content/uploads/downloads/2011/06/not_working_copy.flv

任何想法将不胜感激.

谢谢

php video flv

5
推荐指数
1
解决办法
5556
查看次数

创建持久的多行字符串

我想为R中的变量分配一个多行字符串,以便我可以稍后调用该变量.当我尝试paste("line 1", "line 2", sep = "\n")我得到"line 1\nline 2".当我尝试时cat("line 1", "line 2", sep = "\n"),我得到了所需的输出,但这是输出不是持久的(cat()返回类型的对象None).我尝试使用多行字符串的原因是我需要通过sendmailR邮件正文中的SMTP服务器(和包)发送查询结果(而不是作为附件).

newline r sendmailr

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

将列拆分为两个,在r中使用"/"分隔符

我有以下类型的数据,虽然data.frame非常大.

A1 <- c("A/B", "A/A", "B/B", "A/A")
B1 <- c("B/B", "C/C", "C/B", "D/A")
C1 <- c("B/B", "C/C", "C/B", "D/A")
mydf <- data.frame (A1, B1, C1)
mymat <- as.matrix (mydf)
mymat
         A1    B1    C1   
[1,] "A/B" "B/B" "B/B"
[2,] "A/A" "C/C" "C/C"
[3,] "B/B" "C/B" "C/B"
[4,] "A/A" "D/A" "D/A"
Run Code Online (Sandbox Code Playgroud)

我希望将每列分成两个"/"是sperator.因此输出看起来像:

    A1a  A1b   B1a  B1b    C1a  C1b   
[1,] A   B      B    B     B     B 
[2,] A   A      C    C     C     C
[3,] B   B      C    B     C     B
[4,] A   A …
Run Code Online (Sandbox Code Playgroud)

split r dataframe

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

累积和以条件为条件

我想计算应用于另一列的一组间隔[n, +?)(即? n)的数据帧列的条件和.在下面的示例数据中,间隔应用于列a,列b中的值有条件地求和.对于[0, +?)所有列a值,所有值的总和也是? 0如此b_sum.对于[3, +?)只有一条记录是? 3如此b_sum为500.

输入数据

  a    b          
1.1  100          
2.3  150          
0.1   20          
0.5   80          
3.3  500          
1.6  200
1.1  180
Run Code Online (Sandbox Code Playgroud)

期望的结果

n  b_sum
0   1230
1   1130
2    650
3    500
4      0
Run Code Online (Sandbox Code Playgroud)

我确信使用for循环这很容易; 然而; 我想避免这种方法,并使用矢量化的基础Rdplyr方法.

r dplyr

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

将1个字符串分成更多

亲爱的所有人,A有这样的字符串:

a <- "Good,Good*********,Good***********,Perfect,Perfect**********,Perfect***********"
Run Code Online (Sandbox Code Playgroud)

现在我想把它分成这个:

a <- c("Good","Good*********","Good***********","Perfect","Perfect**********","Perfect***********")
Run Code Online (Sandbox Code Playgroud)

任何建议都非常欢迎!谢谢,

Lisanne

string r character

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

任何人都可以建议更快的方式迭代或循环这个数据框架?

我有一个大约500,000行和四列的数据帧.数据框包含有关特定用户访问某个位置的数据.数据帧的示例如下:

> head(data)
  FirstVisit VisitDate                   ID  visit.count
1    40545     40545                 000001        1
2    40545     40545                 000002        1
3    40548     40548                 000003        1
4    40545     40565                 000001        2
5    40545     40575                 000002        2
6    40545     40576                 000002        3
Run Code Online (Sandbox Code Playgroud)

每个观察包含用户的第一个日期(整数格式,其中1是01/01/1900),他们的访问日期,他们的唯一ID(大约175,000个唯一ID)和访问次数(是他们的第一次访问,第二次访问等等?).访问次数上限为5,因此visit.count列中的最大值小于或等于5.我想创建一个矩阵(或数据帧,如果需要),它存储每个ID的最新访问次数; 就像是:

> head(data.matrix)
      ID  visit.count1 visit.count2 visit.count3 visit.count4 visit.count5
1 000001        0            1            0            0            0
2 000002        0            0            1            0            0
3 000003        1            0            0            0            0 
Run Code Online (Sandbox Code Playgroud)

我的代码如下:

ids <- unique(data$ID)
count.matrix <- matrix(data = 0, nrow = length(ids), …
Run Code Online (Sandbox Code Playgroud)

r

0
推荐指数
1
解决办法
352
查看次数

可以在不同长度的iterable上使用列表推导吗?

是否可以通过列表解析创建列表,该列表解析使用复合布尔表达式,该表达式至少有一个条件假定存在来自底层迭代元素的索引值(即使另一个条件不存在且(应该?)导致表达是True)?

IndexError: tuple index out of range执行下面的代码时,解释器抛出.

my_lst = [('30', ), ('30', '125'), ('30', '127'), ('30', '125', '567')]
[tpl for tpl in my_lst if (len(tpl) == 1 or tpl[2] == '125')]
# Desired result: [('30', ), ('30', '125'), ('30', '125', '567')]
Run Code Online (Sandbox Code Playgroud)

python list-comprehension

0
推荐指数
1
解决办法
60
查看次数