我正在编写一个包含需要在./data/子目录中打开数据文件的模块的python包.现在我有了硬编码到我的类和函数中的文件的路径.我想编写更强大的代码,可以访问子目录,无论它在用户系统上的安装位置如何.
我尝试了各种各样的方法,但到目前为止我没有运气.似乎大多数"当前目录"命令都返回系统的python解释器的目录,而不是模块的目录.
这似乎应该是一个微不足道的常见问题.但我似乎无法弄明白.部分问题是我的数据文件不是.py文件,所以我不能使用导入功能等.
有什么建议?
现在我的包目录看起来像:
/
__init__.py
module1.py
module2.py
data/
data.txt
Run Code Online (Sandbox Code Playgroud)
我试图访问data.txt距离module*.py
谢谢!
Python库gevent版本0.13.6(PyPI上的当前版本)不会出现pip install在OS X Lion,Python 2.7(以及可能还有其他版本)上.它在Snow Leopard上运行良好.
如何安装此库?
奖励积分如果可以使用pip install,而不是手动或自定义过程,因为它将与自动构建很好地协作.
这是我的pip install输出:
pip install gevent
Downloading/unpacking gevent
Running setup.py egg_info for package gevent
Requirement already satisfied (use --upgrade to upgrade): greenlet in ./tl_env/lib/python2.7/site-packages (from gevent)
Installing collected packages: gevent
Running setup.py install for gevent
building 'gevent.core' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -isysroot /Developer/SDKs/MacOSX10.6.sdk -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c gevent/core.c -o build/temp.macosx-10.6-intel-2.7/gevent/core.o
In file included from gevent/core.c:225:
gevent/libevent.h:9:19: …Run Code Online (Sandbox Code Playgroud) 我使用Scala插件在Eclipse中成功实现并运行了几个Scala教程.然后突然我尝试编译并运行一个示例,并出现此错误:
Exception in thread "main" java.lang.NoClassDefFoundError: hello/HelloWorld
Caused by: java.lang.ClassNotFoundException: hello.HelloWorld
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
Run Code Online (Sandbox Code Playgroud)
在此之后,我再也无法在Eclipse中运行任何Scala程序.我尝试清理和重建我的项目,关闭并重新打开我的项目,关闭并重新打开Eclipse.
Eclipse版本号3.5.2和Scala插件2.8.0
这是原始代码:
package hello
object HelloWorld {
def main(args: Array[String]){
println("hello world")
}
}
Run Code Online (Sandbox Code Playgroud) 我想在ansible playbook中启动我的node.js应用程序.现在,最终的指令看起来像这样:
- name: start node server
shell: chdir=${app_path} npm start&
Run Code Online (Sandbox Code Playgroud)
问题是ansible永远不会从此返回.我怎样才能继续?
有没有办法在运行时从Objective-C中的字符串#import类?任何会产生类似结果的方法也会受到欢迎.
编辑:
我想访问一个我在运行时确定其名称的类.所以像这样:
NSString *className = getClassName();
Class myClass = loadClass(className);
myClass *myVar = [[myClass alloc] init];
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有为文件顶部的myClass添加静态#import指令的情况下执行此操作?
我正在使用一个20 gig XML文件,我想将其导入SQL数据库(最好是MySQL,因为这是我所熟悉的).这似乎是一个常见的任务,但谷歌搜索后,我一直无法弄清楚如何做到这一点.做这个的最好方式是什么?
我知道这个功能内置于MySQL 6.0中,但现在不是一个选项,因为它是一个alpha开发版本.
此外,如果我必须编写任何脚本,我宁愿使用Python,因为这是我最熟悉的.
谢谢.
我想制作一个案例类的副本,用第二个案例类中的可选值更新它.
case class A(
id: Int,
a: String,
b: String,
c: String)
case class Update(
a: Option[String],
b: Option[String],
c: Option[String])
Run Code Online (Sandbox Code Playgroud)
我可以制作副本的最有效方法是什么A,用这些值更新字段Update不是None?如果可能的话,我想避免制作一个涉及所有可能的Some/None值排列的匹配/案例声明Update.