我正在开发一个允许我修改zip文件的md5的工具.该文件的目录结构如下
baselines->
models -> icons ->
lang ->
(a bunch of files here)
Run Code Online (Sandbox Code Playgroud)
但是,当我运行我的代码时,这些目录都没有进入迭代.输出给了我:
Name:model/visualization_dependency.xml
Name:model/visualization_template.xml
Name:model/weldmgmt_dependency.xml
Name:model/weldmgmt_template.xml
Run Code Online (Sandbox Code Playgroud)
我期待输出上出现类似model/baseline/somefile.xml的内容,但事实并非如此.有什么想法吗?
byte[] digest = null;
MessageDigest md5;
try {
md5 = MessageDigest.getInstance("MD5");
ZipEntry current;
while((current = entry.getNextEntry()) != null){
//ZipEntry current = entry.getNextEntry();
System.out.println("Size:" + current.getSize());
System.out.println("Name:" + current.getName());
if(current.isDirectory()){
digest = this.encodeUTF8(current.getName());
md5.update(digest);
}
else{
int size = (int)current.getSize();
digest = new byte[size];
entry.read(digest, 0, size);
md5.update(digest);
}
}
digest = md5.digest();
entry.close();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated …
Run Code Online (Sandbox Code Playgroud) 我今天正在考虑这个问题,我带来了以下伪代码(Python 3.2):
def anagrams( string ):
for c in string:
anagram = c + anagram( string - {c} ) # remove the char from its position in the string
print(anagram)
return
def main():
word = "abcd"
anagrams( word )
return
Run Code Online (Sandbox Code Playgroud)
但是,我想知道这种操作的pythonic方法:anagram = c + anagram(string - {c})
我怎么能从字符串中删除该字符?例如:
"abc" -> 'a' + "bc" -> 'a' + 'b' + "c" -> 'a' + 'b' + 'c' = 'abc'
+ "cb" -> 'a' + 'c' + "b" -> 'a' + 'c' + …
Run Code Online (Sandbox Code Playgroud) 我试图建立一个Cloudera
Hadoop集群,与包含一个主节点namenode
,secondarynamenode
并且jobtracker
,和含有另外两个节点datanode
和tasktracker
。该Cloudera
版本是4.6,操作系统是Ubuntu的精确64。此外,该集群是从AWS实例创建的。ssh passwordless
还已经Java
安装了Oracle-7。
每当执行sudo service hadoop-hdfs-namenode start
我都会得到:
2014-05-14 05:08:38,023 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
java.lang.IllegalArgumentException: Invalid URI for NameNode address (check fs.defaultFS): file:/// has no authority.
at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:329)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:317)
at org.apache.hadoop.hdfs.server.namenode.NameNode.getRpcServerAddress(NameNode.java:370)
at org.apache.hadoop.hdfs.server.namenode.NameNode.loginAsNameNodeUser(NameNode.java:422)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:442)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:621)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:606)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1177)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1241)
Run Code Online (Sandbox Code Playgroud)
我的core-site.xml
:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. …
Run Code Online (Sandbox Code Playgroud) 我有一个pom.xml
文件用于我的util
方向,在我的项目中:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.myapp.app</groupId>
<artifactId>MyApp</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>util</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>Util</name>
<url>http://maven.apache.org</url>
...
<other things here>
</project>
Run Code Online (Sandbox Code Playgroud)
当我执行时mvn clean install
,它工作正常。但是,当我尝试使用该util
依赖项时,我得到:
[ERROR] Failed to execute goal on project helloworld: Could not resolve dependencies for project com.myapp.app:helloworld:jar:1.0-SNAPSHOT: Could not find artifact com.myapp.app:util:jar:1.0-SNAPSHOT -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
查看~/.m2/repository/
我没有看到util
目录。为什么会这样?我如何才能maven
在本地存储库中安装这些软件包?
************************** Last 15 lines *******************
[INFO] Copying jdom-1.0.jar to myapp/util/target/dependency/jdom-1.0.jar
[INFO] Copying httpclient-4.2.6.jar to …
Run Code Online (Sandbox Code Playgroud) 我正在使用 Spring-boot 来实现 Java 应用程序。其中一个控制器称为HealthCheckerController
,在包中定义application
:
HealthCheckerController.java:
package application;
import healthchecker.Instance;
import healthchecker.InstanceRepository;
@RestController
public class HealthCheckerController {
@Autowired
private TopRepository topRepository;
@Autowired
private InstanceRepository instanceRepository;
@SuppressWarnings("unused")
private final static Logger logger = Logger.getLogger(HealthCheckerController.class);
public HealthCheckerController(InstanceRepository instanceRepository) {
this.instanceRepository = instanceRepository;
}
// other things not important here.
}
Run Code Online (Sandbox Code Playgroud)
在healthchecker
包中,我已经Instance
定义InstanceRepository
了:
package healthchecker;
import java.util.List;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@RepositoryRestResource(collectionResourceRel = "instances", path = "instances")
public interface InstanceRepository extends MongoRepository<Instance, …
Run Code Online (Sandbox Code Playgroud) I have a bunch of tables in a MySQL
database, some of them starting with phpbb_* which I wanted to delete all of them. Does someone know a way to do so instead of doing
drop table <tablename>;
Run Code Online (Sandbox Code Playgroud)
every single time? Like a regex?
drop table phpbb*
Run Code Online (Sandbox Code Playgroud)
or something like?
我是个新手node.js
.我正在尝试使用node.js实现一个浏览器性能工具,所以我有以下代码:
for(var j=0; j < 14; j++) {
// Create a new instance of HttpWatch in Firefox
var control = new ActiveXObject('HttpWatch.Controller');
var plugin = control.Firefox.New();
// Start Recording HTTP traffic
plugin.Log.EnableFilter(false);
// Clear Cache and cookier before each test
plugin.ClearCache();
plugin.ClearAllCookies();
plugin.ClearSessionCookies();
plugin.Record();
// Goto to the URL and wait for the page to be loaded
plugin.GotoURL(url);
control.Wait(plugin, -1);
// Stop recording HTTP
plugin.Stop();
if ( plugin.Log.Pages.Count != 0 )
{
// Display summary statistics for page …
Run Code Online (Sandbox Code Playgroud) 我有以下文件:~/.config.txt
位于/root/.config
.为了避免在我的Python
文件中使用硬编码路径,如何在Python中始终替换(并正确引用)~/
路径<home>
?这样我可以取代~/.config.txt
通过/root/.config
,如果/root/
是我的主目录?
我从这篇文章中得到了一个很好的答案,它涵盖了我想要的一切。
[Box]
box.active = false
resolution_tracker.active = true
box.api_key =
box.api_secret =
box.job_interval = 480
box.max_attempts = 6
box.users =
[Google]
google.active = true
google.job_interval = 480
google.users = <useremail>
google.key_file_name = <key_file>
google.service_account_id = <account_id>
Run Code Online (Sandbox Code Playgroud)
然而,仍然存在的问题是如何去除相等赋值中的空格。例如:
box.active = false
Run Code Online (Sandbox Code Playgroud)
必须是
box.active=false
Run Code Online (Sandbox Code Playgroud)
就是这样,我想删除=
. 该.properties
文件是用ConfigParser
Python生成的,但似乎这些空格正在产生问题。当然,我可以使用其他东西来删除那些空格,但是有没有更优雅的解决方案使用StringIO
,ConfigParser
或任何其他Python
库?
** 编辑 ** 这个问题不是重复的,因为我们试图找到一种更简单的方法来删除=
使用 API周围的空格,而不是重写ConfigParser
类。
我正在使用Box
Python API编写一些工具.因此,其中一个是上传文件Box
.他们使用a StringIO
作为目标文件.我需要在本地读取文件并将其内容写入StringIO
缓冲区,然后将其传递给Box
API,如下面的代码所示:
def upload_file(self, filename, folder_id='0'):
assert self.client is not None
try:
stream = StringIO.StringIO()
# replace this line a file read
stream.write('Box Python SDK Test!')
stream.seek(0)
box_file = self.client.folder(folder_id=folder_id).upload_stream(
stream, filename,
preflight_check=True)
return box_file.name
except BoxAPIException, e:
self.log.exception(e)
Run Code Online (Sandbox Code Playgroud)
很简单,我如何从本地文件中读取,然后写入StringIO
缓冲区?