当我编写一些脚本时,我通常会达到我的代码如下所示的程度:
end
end
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
我不了解你,但这对我来说看起来很难看.可以做些什么吗?
我希望我的脚本有2个行为,一个作为计划任务启动,另一个如果手动启动.我怎样才能测试互动性?
编辑:这可以是一个cron作业,也可以通过Windows批处理文件,通过计划任务启动.
我不久前在Windows机器上安装了Eclipse.几天前我正在做一些Java编码,我注意到我没有JDK,但Eclipse仍然可以编译和运行Java类.它是否包含编译器?
我写了一些代码,我想打包成鸡蛋.这是我的目录结构:
src/ src/tests src/tests/test.py # this has several tests for the movie name parser src/torrent src/torrent/__init__.py src/torrent/movienameparser src/torrent/movienameparser/__init__.py # this contains the code
我想将这个目录结构打包为一个egg,并包含测试文件.我应该在setup.py文件中包含什么内容,以便我可以拥有任意数量的命名空间和任意数量的测试?
这是我想分享的第一个开源代码.即使可能,我将是唯一一个会发现这个模块有用的人,我想上传它pypi.我可以使用哪种许可证,允许用户使用代码执行他们想要的操作,对重新分发,修改没有限制?
即使我计划更新这个鸡蛋,我也不想对任何事情负责(例如为用户提供支持).我知道这可能听起来很自私,但这是我的第一个开源代码,所以请耐心等待.我是否需要提供许可证副本?我在哪里可以找到副本?
感谢阅读所有这些.
我正在编写一个可以ping我的ip范围的脚本.这是我到目前为止所拥有的:
lines = `ipconfig`.split("\n")
thr = []
ip_line = lines.detect { |l| l=~/Ip Address/i }
matcher = /\d+\.\d+\.\d+\.\d+/.match(ip_line)
if matcher.length > 0
address = matcher[0]
address.sub!(/\.\d+$/,"")
(1 .. 254).each do |i|
xaddr = address + "." + i.to_s
puts "pinging #{xaddr}"
thr << Thread.new {
`ping #{xaddr}`
}
end
thr.each do |t|
t.join
output = t.value
puts output
end
end
Run Code Online (Sandbox Code Playgroud)
问题是,这执行得非常慢.就像应用程序没有线程.这是为什么?我注意到如果我将Thread子类化,整个事情运行得更快,更快.怎么了?Thread不是直接用的吗?
我想我在某处读到某些模块只有面向对象的接口(虽然它们没有创建对象,但它们只保存了实用程序功能).有没有意义呢?
是否有一些内置函数告诉我路径是否绝对?我想要一些与平台无关的东西.
我想知道为什么这对我不起作用:
Recipe.find_or_create_by_user_id(current_user.id, :name => "My first recipe")
Run Code Online (Sandbox Code Playgroud)
如果用户的id不存在,则会创建配方,但名称("我的第一个配方")不包含在新创建的条目中.有什么我做错了吗?我不太清楚这一点.
这是我的脚本:
import BeautifulSoup
if __name__ == "__main__":
data = """
<root>
<obj id="3"/>
<obj id="5"/>
<obj id="3"/>
</root>
"""
soup = BeautifulSoup.BeautifulStoneSoup(data)
print soup
Run Code Online (Sandbox Code Playgroud)
运行时,打印:
<root>
<obj id="3"></obj>
<obj id="5"></obj>
<obj id="3"></obj>
</root>
Run Code Online (Sandbox Code Playgroud)
我希望它保持相同的结构.我怎样才能做到这一点?
当我需要具有不同属性的多个对象时,我可以使用它:
class struct(object):
def __init__(self,*args,**kwargs):
for key,val in kwargs.items():
setattr(self,key,val)
Run Code Online (Sandbox Code Playgroud)
但我想知道是否已经没有内置?
python ×5
ruby ×3
coding-style ×1
distutils ×1
eclipse ×1
egg ×1
interactive ×1
java ×1
oop ×1
perl ×1
ping ×1
pypi ×1
refactoring ×1
setuptools ×1
struct ×1
syntax ×1
windows ×1
xml ×1