当我尝试使用以下代码在写入模式下打开文件时:
packetFile = open("%s/%s/%s/%s.mol2" % ("dir", "dir2", "dir3", "some_file"), "w")
给我以下错误:
IOError: [Errno 2] No such file or directory: 'dir/dir2/dir3/some_file.mol2'
如果文件不存在,"w"模式应该创建文件,对吧?那么这个错误怎么会发生呢?
我正在使用通过ssh连接到集群的脚本并发送一些命令,然后退出连接.此脚本基本上使用ssh连接一次,然后在此会话中执行脚本.此脚本循环遍历命令列表几次,完成后,连接终止.
所以这个脚本工作正常,除了在几个循环之后它在循环22给出了以下错误.然后再次在循环32处.循环执行完全相同的事情,所以我无法理解脚本面临的问题.我不认为这个脚本每次必须运行循环时都要求进行身份验证.
这是错误:
key_read: uudecode AAAAB3NzaC1yc2EAAAABIwAAAQEAxmNx2hcXLpTjuaa3yKC3B9gbF7KprP2/
CH8fBgMbCyIcOB+ZMQDmEnbVTqedBwV/mxjZzorEpHTM8MX2WsTjFsxwzDgcpuxm+3cwfb0WSy9Y4Kb
F8crAsRDbBIpUZ2n/iSdRcds9nTjk6PA61kTS24RLACHpqF18vudlO5WcbCOnAwa+DdUs0Raw29UiQc
BaC6M4YPnApq9Ayy7a6qFI2uK6efkwfLTZIDivWlIdLpRLEyuBEpozQQhEd0mrGhR/
Gl1GevRvFMms14130xQ4A5UpJSn6CmrRIWBkcgp1TilqDGQ1F5xZOinnc4C00gFrbT3hkkQqY5A9p
node023,10.141.0.31 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxmNx2hcXLpTjuaa3yKC3
B9gbF7KprP2/CH8fBgMbCyIcOB+ZMQDmEnbVTqedBwV/mxjZzorEpHTM8MX2WsTjFsxwzDgcpuxm+
3cwfb0WSy9Y4KbF8crAsRDbBIpUZ2n/iSdRcds9nTjk6PA61kTS24RLACHpqF18vudlO5WcbCOnAw
a+DdUs0Raw29UiQcBaC6M4YPnApq9Ayy7a6qFI2uK6efkwfLTZIDivWlIdLpRLEyuBEpozQQhEd0m
rGhR/Gl1GevRvFMms14130xQ4A5UpJSn6CmrRIWBkcgp1TilqDGQ1F5xZOinnc4C00gFrbT3hkkQqY5
A9pa0lQHFkSw==
Run Code Online (Sandbox Code Playgroud) 我试图通过ssh连接传递变量,如下所示:
working_dir="/home/user/some_dir/"
ssh $USER@some_host 'qsub $working_dir/some_file.txt'
连接本身已建立,但此代码给出了以下错误:
working_dir: Undefined variable.
这可以通过远程机器没有变量来解释,$working_dir因为它是在本地定义的.
有没有办法在本地获取命令中的值?
警告:解析“显示”的值时出错。宣言落下。行:0
我不确定当我离开这个警告时会发生什么,因为我在我的任何页面中都没有看到任何奇怪的行为。
我仍然想删除它以防万一,有人可以帮我找到解决方案吗?谢谢
编辑:
我刚刚注意到我的 php 脚本中有一个错误,这导致我的对象出现style=display:;
了问题,现在已经解决了,非常感谢!
我已经尝试了谷歌,php.net和php邮件列表的档案,但我找不到我想要的东西.也许这是显而易见的,或者也许没有人想知道这个......
多年来,我一直使用microtime()来获取当前时间,包括微秒.但是,有人在手册页中的一句话中指出:"此功能仅在支持gettimeofday()系统调用的操作系统上可用."
PHP的gettimeofday()表明了同样的情况:"这是gettimeofday(2)的接口."
但是......那么什么样的系统没有这个系统调用?一些谷歌搜索提供了许多C程序员试图在Windows上的C中获得gettimeofday()实现,因为它似乎不包括它.但PHP的microtime()和gettimeofday()似乎在Windows上运行得很好(至少我可以使用的方框).此外,我似乎无法在网络上的任何地方找到PHP代码,似乎在调用它之前检查microtime()或gettimeofday()的存在,并且必须有许多PHP程序员在Windows上工作盒子......
我是否应该忽略手册中的句子并且只相信这两个函数始终可用?或者是否有另一种跨平台方式来获取系统时间,包括微秒,而不使用microtime()或gettimeofday()?或者两个函数是否总是存在,但是如果没有gettimeofday()系统调用可用,那么就不给我微秒?
编辑1:
"Returns the current Unix timestamp with microseconds.
This function is only available on operating systems that
support the gettimeofday() system call."
Run Code Online (Sandbox Code Playgroud)
也许这有点澄清了我的观点.
我遇到以下问题的问题(如果这是一个重复的问题,那么我非常抱歉,但我似乎找不到任何可以帮助我的东西):
SELECT d.*, GROUP_CONCAT(g.name ORDER BY g.name SEPARATOR ", ") AS members
FROM table_d AS d LEFT OUTER JOIN table_g AS g ON (d.eventid = g.id)
WHERE members LIKE '%p%';
Run Code Online (Sandbox Code Playgroud)
MySQL显然无法处理WHERE子句中GROUP_CONCAT列的比较.所以我的问题非常简单.有没有解决方法,比如使用子查询或类似的东西?我真的需要这段代码才能工作,除了在查询本身中处理它之外,没有其他任何替代方法可以使用.
编辑1:
我不会显示实际的代码,因为这可能是保密的,我必须与同行核对.无论如何,我只是编写了这段代码,让你对这个陈述的样子有一个印象,虽然我同意你的说法,但它并没有多大意义.我将在一分钟内检查下面的答案,然后我会回复你.再次获得所有帮助!
编辑2:
尝试使用HAVING,但只有在我不使用时才有效GROUP BY.当我尝试它时,它给我一个语法错误,但当我删除GROUP BY该查询工作完美.问题是,我需要GROUP BY否则查询对我来说毫无意义.
编辑3:
好的,所以我犯了一个愚蠢的错误并放在HAVING之前GROUP BY,这显然不起作用.感谢所有的帮助,它现在有效!
我正在尝试制作这个命令:
sed bla bla filename | awk '{printf "%s %s_entry_%.3f %.3f %.3f %.3f",$1,$3,$4,$5,$6,$7}'
Run Code Online (Sandbox Code Playgroud)
但问题是,我希望%.3f部分是可变的.所以在一个案例中它可能是%.3f而在另一个案例中它可能是%.3f%.3f%.3f.因此,为了清楚起见,我将在示例代码中使用静态代码.所以如果我想要这些%.3f中的4个并将它们放在变量$值中,如下所示:
values="%.3f %.3f %.3f %.3f"
Run Code Online (Sandbox Code Playgroud)
那么我怎样才能把这个字符串放在awk表达式中,而不是让awk只是简单地将"$ {values}"放在那里.以下是我的非工作尝试:
sed bla bla filename | awk '{printf "%s %s_entry_${values}",$1,$3,$4,$5,$6,$7}'
Run Code Online (Sandbox Code Playgroud) 我知道在php中可以使用以下代码:
$dog = 'Woof!';
$cat = 'Miauw!';
$animal = 'dog';
var_dump($$animal);
Run Code Online (Sandbox Code Playgroud)
输出:'Woof!'
当然这是我的实际代码的简化示例,但是你明白了.现在我似乎无法让$_POST变量以相同的方式运行.
例:
$method = '_POST';
$$method['password'] = array();
// In the end i would want this piece of code above to do what i typed below
$_POST['password'] = array();
Run Code Online (Sandbox Code Playgroud)
输出:'注意:未定义的变量:_POST'
那么这是否意味着不可能以这种方式调用$ _POST,或者我是以错误的方式调用它?
我想我在这里有一个奇怪的问题.这是我的代码:
private class BorderCellRenderer extends DefaultTableCellRenderer {
private Border extraBorder;
/**
* A cell render is based on labels which are changed to display the correct appearance
* This cell renderer adds extra border to every render action
*/
BorderCellRenderer(Border extraBorder) {
this.extraBorder = extraBorder;
}
/**
* The setBorder() is used to change the cell appearance.
* The trick is to override the call (of JComponent) and to add extra space
* to it by making it an compound …Run Code Online (Sandbox Code Playgroud) 问题是我需要构造以下SELECT语句:
SELECT c.Animal/Dog, c.Animal/Cat, b.Ecoli
FROM Creatures AS c, Bacteria AS b
WHERE blablabla;
Run Code Online (Sandbox Code Playgroud)
结果:
ERROR 1054 (42S22): Unknown column 'c.Animal' in 'field list'
Run Code Online (Sandbox Code Playgroud)
在人们开始告诉我应该重命名列之前,它不是我的数据库.我无法改变任何东西,我只需要让这个查询工作(如果可能的话).