小编jul*_*ria的帖子

逐行读取文件,有时读取同一循环中的下一行

我想逐行读取python中的文件,但在某些情况下(基于if条件)我还想读取文件中的下一行,然后继续以相同的方式读取它.

例:

    file_handler = open(fname, 'r')
    for line in file_handler:
       if line[0] == '#':
           print line
       else:
           line2 = file_handler.readline()
           print line2
Run Code Online (Sandbox Code Playgroud)

基本上在这个例子中我试图逐行读取它,但是当行没有开始时#我想读下一行,打印它,然后继续读取line2之后的行.这只是一个例子,我在代码中遇到类似的错误,但我的目标是标题中所述.

但是我会得到一个错误ValueError: Mixing iteration and read methods would lose data.

是否有可能以更聪明的方式做我想做的事情?

python

2
推荐指数
1
解决办法
1453
查看次数

调用另一个方法后调用方法的nullpointerexception?

我有一个图像编辑程序.它有几种方法,如灰度,缩放,合并图像等.每种方法都可以完美地完成.但是,在调用mergeImg方法后调用grayScale方法时出现错误.如果我先应用灰度,则不会发生这种情况.

这是错误:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Picture.width(Picture.java:51)
at Picture$4.actionPerformed(Picture.java:222)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at …
Run Code Online (Sandbox Code Playgroud)

java compiler-errors image image-processing nullpointerexception

1
推荐指数
1
解决办法
1756
查看次数

ArrayIndexOutOfBoundsException问题

运行此代码在行中为我提供了一个数组超出范围的异常:

int sum = array[k]+array[l]; //sum of l and k
Run Code Online (Sandbox Code Playgroud)

...应该是一个简单的修复,但我无法弄清楚是什么原因导致它,因为我正在使用array.length来绑定循环.有人可以帮忙吗?

PS对于记录,此代码应该在int数组中搜索等于int的int或单个int的对.它仅使用println工作,但我试图将添加到目标的数字放入向量中.

public Vector<Vector<Integer>> subsetSum(int[] array, int target) {
    //creates vectors, adds inner vector to another vector
    outer = new Vector<Vector<Integer>>();
    inner = new Vector<Integer>();
    outer.add(inner);

    for (int k = 0; k <= array.length; k++) {
        for (int l = 0; l <= array.length; l++) {
            int sum = array[k]+array[l]; //sum of l and k
            int i = 0;

            if (sum == target) {

                inner.add(i, array[l]);
                inner.add(i, array[k]);

                i++;

                //prints …
Run Code Online (Sandbox Code Playgroud)

java arrays vector indexoutofboundsexception

1
推荐指数
1
解决办法
142
查看次数

argv与raw_input

我知道在使用时argv我必须输入文件作为参数(例如:)python ex15.py ex15_sample.txt,使用时raw_input我输入文件名作为输入.

但我似乎无法找出为什么获取文件名的方法会比另一种更好.有人可以解释原因吗?

python raw-input argv

1
推荐指数
1
解决办法
4570
查看次数

制作"耐用"物品

我正在用Python编写一个复杂的树结构,我厌倦了每次运行代码时创建树对象并用数据填充它们.

那么,有没有办法让你的对象在Python中"持久"."持久"是指如果有一种方法可以将所有对象保存为文件中的字节,那么当我再次运行代码时,我可以使用字节文件中的数据创建并填充所有对象,从而恢复状态我上次运行代码时离开了.

我想可能有一个帖子有同样的问题,但我想不出一个更好的术语"耐用"的英语.

python store

1
推荐指数
1
解决办法
163
查看次数

PostsController#中的ActiveRecord :: RecordNotFound显示单击链接

<li><%= link_to('More Commented', posts_morecommented_path) %></li>
Run Code Online (Sandbox Code Playgroud)

错误

ActiveRecord::RecordNotFound in PostsController#show

Couldn't find Post with id=morecommented

Request

Parameters:

{"id"=>"morecommented"}
Run Code Online (Sandbox Code Playgroud)

我在哪里做错了?

postscontroller #show action

def show      @post = Post.find(params[:id])      ...         end
Run Code Online (Sandbox Code Playgroud)

morecommented.html.erb

<% @moreCommented.each do |t| %>
    <%= link_to t.title, :controller => '/posts', :action => 'show', :id => t.id %><br/>
<% end %>
Run Code Online (Sandbox Code Playgroud)

耙路线

post GET    /posts/:id(.:format)           {:action=>"show", :controller=>"posts"}
....      
posts_morecommented        /posts/morecommented(.:format) {:controller=>"posts", :action=>"morecommented"}
Run Code Online (Sandbox Code Playgroud)

routes.rb中:

  resources :posts
  match "posts/:id/categ" => "posts#categ"
  match "posts/:id/tag_posts" => "posts#tag_posts"
  match "posts/searcharchive" => "posts#searcharchive"
  match "posts/morecommented" => "posts#morecommented"
Run Code Online (Sandbox Code Playgroud)

ruby routing ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

1
推荐指数
1
解决办法
2603
查看次数

为什么我得到python manage.py syncdb的错误(IndentationError:意外缩进)

from django.db import models


class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.CharField(max_length=1000)
    created = models.DateField()
    modified = models.DateField()
Run Code Online (Sandbox Code Playgroud)

python manage.py syncdb出错:

Traceback (most recent call last):
  File "manage.py", line 14, in <module>
    execute_manager(settings)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 438, in execute_manager
    utility.execute()
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 219, in execute
    self.validate()
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 249, in validate
    num_errors = get_validation_errors(s, app)
  File "/usr/local/lib/python2.6/dist-packages/django/core/management/validation.py", line 35, in get_validation_errors
    for (app_name, …
Run Code Online (Sandbox Code Playgroud)

python django model

1
推荐指数
1
解决办法
1191
查看次数

如何从表单中保存/插入数据到表中?

我不得不这样做:

def createpost(request):
    if request.method == 'POST':
        form = PostForm(request.POST)
        if form.is_valid():
            titlee = form.cleaned_data['title']
            contentt = form.cleaned_data['content']
            post = Post(title=titlee,content=contentt,created='2012-01-06',modified='2012-01-06') 
            post.save()
            return render_to_response('createpost.html', {"form": form}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

有没有办法获得这样的形式价值post = Post(form) ; post.save()我不想像这样单独获得价值:titlee = form.cleaned_data['title']

任何的想法?

python forms django model

1
推荐指数
1
解决办法
475
查看次数

如何在python中增加列表的名称

我希望能够增加列表的名称,以便创建多个空列表.

例如,我想要.

List_1 = [] 
List_2 = []
...
List_x = []
Run Code Online (Sandbox Code Playgroud)

我一直在努力:

for j in range(5):            #set up loop
  list_ = list_ + str(j)     # increment the string list so it reads list_1, list_2, ect
  list_ = list()             # here I want to be able to have multiple empty lists with unique names
  print list_
Run Code Online (Sandbox Code Playgroud)

python naming list

1
推荐指数
1
解决办法
2187
查看次数

两个匹配!在python中的文件中

我有一个文件,其中每个块由!sie 分隔

!
 vserver XXXX
 virtual XX.xx.XX.XX tcp 389
 owner LDAP
 serverfarm XXX
 idle 5
 persistent rebalance
 inservice
!
Run Code Online (Sandbox Code Playgroud)

我想得到包含vserver信息的每个部分.我试图在python中使用正则表达式,但我在处理换行符时遇到问题

我试过这样的事情:

pattern = r"!\n vserver \S+\n "
Run Code Online (Sandbox Code Playgroud)

python regex

1
推荐指数
1
解决办法
126
查看次数