小编Bar*_*dan的帖子

Python file.tell给出了错误的值位置

我试图使用Python从现有文件中提取许多位置.这是我当前提取位置的代码:

    self.fh = open( fileName , "r+")
    p = re.compile('regGen regPorSnip begin')
    for line in self.fh :
        if ( p.search(line) ):
            self.porSnipStartFPtr = self.fh.tell()
            sys.stdout.write("found regPorSnip")
Run Code Online (Sandbox Code Playgroud)

这个代码段重复了很多次(少了文件打开),具有不同的搜索值,似乎有效:我得到了正确的消息,变量有值.

但是,使用下面的代码,第一个写入位置是错误的,而后续写入位置是正确的:

    self.fh.seek(self.rstSnipStartFPtr,0)
    self.fh.write(str);
    sys.stdout.write("writing %s" % str )
    self.rstSnipStartFPtr = self.fh.tell()
Run Code Online (Sandbox Code Playgroud)

我已经读过,由于Python倾向于"提前读取",传递某些read/ readline选项fh会导致错误的判断值.我看到避免这种情况的一个建议是读取整个文件并重写它,这在我的应用程序中不是一个非常有吸引力的解决方案.

如果我将第一个代码段更改为:

  for line in self.fh.read() :
        if ( p.search(line) ):
            self.porSnipStartFPtr = self.fh.tell()
            sys.stdout.write("found regPorSnip")
Run Code Online (Sandbox Code Playgroud)

然后它似乎self.fh.read()只返回字符而不是整行.搜索从不匹配.这似乎也适用于此self.fh.readline().

我的结论是,fh.tell在写操作后查询时只返回有效的文件位置.

有没有办法在阅读/搜索时提取准确的文件位置?

谢谢.

python seek tell

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

React JS,在Component中创建一个时钟计时器

我正在尝试在React组件中创建一个时钟计时器.但是我遇到了困难.任何帮助,将不胜感激.

import React from "react";
import ReactDOM from "react-dom";

export default class App extends React.Component {
  render() {
    return (
      <ShowDate />
    );
  }
}

ReactDOM.render(<App/>, document.getElementById('app'));

function ShowDate() {
  return {new Date().toLocaleTimeString()};
}

setInterval(ShowDate, 1000);
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

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

使用urllib.request.urlopen发出请求时使用contextlib.closing是否有优势?

为了说明我的问题,这是一个不使用的基本请求contextlib:

    import urllib.request

    url = "http://www.example.com/"

    with urllib.request.urlopen(url) as response:
        raw_data = response.read()
Run Code Online (Sandbox Code Playgroud)

并使用相同的请求contextlib:

    import contextlib
    import urllib.request


    url = "http://www.example.com/"

    with contextlib.closing(urllib.request.urlopen(url)) as response:
        raw_data = response.read()
Run Code Online (Sandbox Code Playgroud)

据我所知,这两个请求具有相同的结果:检索数据,请求在代码块完成时自动关闭,raw_data即使在请求关闭后也可以访问.在使用请求时urllib.request.urlopen,是否有使用优势contextlib.closing或是多余的?一种方法更像Pythonic和/或更常见吗?

python urllib contextmanager python-3.x

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

使用React.js与Facebook Google Twitter进行身份验证

我正在通过我的应用通过Facebook和Google+等社交网站进行身份验证。我选择了React.js进行查看。

这是我的代码:

<body>
  <div id="Login-widget"></div>
  <script type="text/jsx">
    var Login = React.createClass({
      render: function() {
        return (
          <ul className="info nav nav-pills nav-stacked" id="profile-accordion">
            <li className="panel">
              <a href="#" data-parent="#profile-accordion" data-toggle="collapse">
                <span className="glyphicon glyphicon-chevron-down pull-right" />
                Logged with WRIO
              </a>
              <div className="in" id="profile-element">
                <div className="tickets">
                  <div className="media thumbnail">
                    <div className="col-xs-12 col-md-6 col-lg-5">
                      <img src="https://avatars2.githubusercontent.com/u/604410?v=3&s=460" className="pull-left" />
                      <ul className="details">
                        <li>Name: Alexey Anshakov</li>
                        <li>Registered: 22 Jun 2013</li>
                        <li>Rating: 244</li>
                        <li>Followers: 1,634</li>
                        <li>Posts: 1,634</li>
                      </ul>
                    </div>
                    <div className="col-xs-12 col-md-6 col-lg-7">
                      <div className="media-body">
                        Disclaimer: We start a …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

Python 3 中的 http.client 请求方法

当我运行此代码时:

import http.client
hR = ["/index.html"]
conn = http.client.HTTPConnection("www.python.org", 80)
conn.connect()
conn.request("GET", hR)
response = conn.getresponse()
data = response.read()
print (data)
conn.close()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Traceback (most recent call last):
  File "C:\Python32\files\fcon.py", line 5, in <module>
    conn.request("GET", hR)
  File "C:\Python32\lib\http\client.py", line 964, in request
    self._send_request(method, url, body, headers)
  File "C:\Python32\lib\http\client.py", line 992, in _send_request
    self.putrequest(method, url, **skips)
  File "C:\Python32\lib\http\client.py", line 877, in putrequest
    if url.startswith('http'):
AttributeError: 'list' object has no attribute 'startswith'
Run Code Online (Sandbox Code Playgroud)

此外,当我将第 3 行中的 URL 更改为“ http://python.org ”时,我收到了一个不同的错误:

Traceback (most recent …
Run Code Online (Sandbox Code Playgroud)

python-3.x

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

span列表元素中的自动换行

我想span在列表项中有多个元素.他们inline当然是假设的.当我将word-wrap: break-word属性添加到其中一个span元素时,我期待包装的单词,但元素也包装.

这个小提琴中你可以清楚地看到span带有类message的元素在元素后面name.我希望这些元素内联,但是第二个用class包装message.

我想要实现的可以与twitch.tv聊天消息结构进行比较. 在此输入图像描述

消息的twitch.tv HTML如下:

<li class="ember-view message-line chat-line" id="ember6565">
  <div class="indicator"></div>
  <span class="timestamp float-left">3:34</span> 
  <span class="badges float-left"></span>
  <span class="from" style="color:#D2691E">yourusername</span>
  <span class="colon">:</span> 
  <span class="message" style="undefined">message here</span>
</li>
Run Code Online (Sandbox Code Playgroud)

问候

html css word-wrap

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

使用Ruby on Rails和Turbolinks,jQuery计时器在页面更改后继续滚动

我在使用jQuery和Turbolinks的Rails应用程序中使用计时器时出现以下问题:我setTimeout在我的起始页面上运行了一个计时器图像幻灯片.当我点击一个链接页面改变,但计时器继续滚动,我认为这是由Turbolinks引起的.此外,当我重新进入开始页面时,它再次触发计时器并堆叠在旧计时器上.

我一直在玩clearTimeout(例如,试图将它放在不同的地方),但我不能让它工作.我希望能够看到是否有setTimeout跑步,然后在开始新的之前停止它,或类似的东西......

这是我在开始页面上的计时器:

var timerSplash = setTimeout(splash, 5000);
Run Code Online (Sandbox Code Playgroud)

我现在真的走到了尽头,我需要帮助!

javascript jquery ruby-on-rails ruby-on-rails-3

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