我最近一直在玩子进程.正如我做的越来越多; 我发现自己需要root访问权限.我想知道是否有一种简单的方法来输入需要子进程模块的命令的root密码.所以当我提示输入密码我的脚本并提供它并运行命令.我知道这是一个不好的做法,代码将运行的地方是沙箱并与系统的其余部分分开; 我也不想以root身份运行.
如果可能的话,我会非常感谢小例子.我知道你可以用期望做到这一点,但我正在寻找更多以python为中心的东西.我知道pexpectexsists,但这个简单的任务有点过分.
谢谢.
初步信息 操作系统: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) 两个文件。每个都运行新窗口并自行工作。我需要运行它们。
当我运行时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)
如何运行位于不同模块中的两个应用程序?
虽然我试图得到一个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
任何想法将不胜感激.
谢谢
我想为R中的变量分配一个多行字符串,以便我可以稍后调用该变量.当我尝试paste("line 1", "line 2", sep = "\n")我得到"line 1\nline 2".当我尝试时cat("line 1", "line 2", sep = "\n"),我得到了所需的输出,但这是输出不是持久的(cat()返回类型的对象None).我尝试使用多行字符串的原因是我需要通过sendmailR邮件正文中的SMTP服务器(和包)发送查询结果(而不是作为附件).
我有以下类型的数据,虽然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) 我想计算应用于另一列的一组间隔[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循环这很容易; 然而; 我想避免这种方法,并使用矢量化的基础R或dplyr方法.
亲爱的所有人,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
我有一个大约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) 是否可以通过列表解析创建列表,该列表解析使用复合布尔表达式,该表达式至少有一个条件假定存在来自底层迭代元素的索引值(即使另一个条件不存在且(应该?)导致表达是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)