小编lai*_*e9m的帖子

如何查看文件,而不是使用Python进行更改的目录?

问题:如何使用Python查看文件以进行更改?建议使用看门狗,但我发现它只能观看目录,而不是文件.watchdog-test.py是看门狗的示例脚本:

$ python watchdog-test.py ab_test_res.sh &
[1] 30628
fbt@fbt64:~/laike9m$ Traceback (most recent call last):
  File "watchdog-test.py", line 15, in <module>
    observer.start()
  File "/usr/local/lib/python2.7/dist-packages/watchdog/observers/api.py", line 255, in start
    emitter.start()
  File "/usr/local/lib/python2.7/dist-packages/watchdog/utils/__init__.py", line 111, in start
    self.on_thread_start()
  File "/usr/local/lib/python2.7/dist-packages/watchdog/observers/inotify.py", line 121, in on_thread_start
    self._inotify = InotifyBuffer(path, self.watch.is_recursive)
  File "/usr/local/lib/python2.7/dist-packages/watchdog/observers/inotify_buffer.py", line 35, in __init__
    self._inotify = Inotify(path, recursive)
  File "/usr/local/lib/python2.7/dist-packages/watchdog/observers/inotify_c.py", line 187, in __init__
    self._add_dir_watch(path, recursive, event_mask)
  File "/usr/local/lib/python2.7/dist-packages/watchdog/observers/inotify_c.py", line 363, in _add_dir_watch
    raise OSError('Path is not a directory') …
Run Code Online (Sandbox Code Playgroud)

python file watch python-watchdog

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

如何在Python中获得完整的AST?

我喜欢_ast模块提供的选项,它非常强大.有没有办法从中获取完整的AST?

例如,如果我得到以下代码的AST:

import os
os.listdir(".")
Run Code Online (Sandbox Code Playgroud)

通过使用 :

ast = compile(source_string,"&lt;string&gt;","exec",_ast.PyCF_ONLY_AST)
Run Code Online (Sandbox Code Playgroud)

ast对象的主体将有两个元素,一个导入对象和一个expr对象.但是,我想更进一步,获得导入listdir的AST,换句话说,我想让_ast下降到可能的最低级别.

我认为这种事情应该是可行的,这是合乎逻辑的.问题是如何

编辑:在可能的最低级别,我并不意味着访问什么是"可见的".我想获得用于实现listdir的AST :比如可以为它执行的stat和其他函数调用.

python abstract-syntax-tree

5
推荐指数
2
解决办法
2902
查看次数

Google访谈:查找多边形的最大总和

给定具有N顶点和N边的多边形.每个顶点都有一个int数(可能是负数)(*,+),每个边上都有一个set运算.每次,我们从多边形中移除边E,将边连接的两个顶点合并(V1,V2)到一个值为的新顶点:V1 op(E) V2.最后一种情况是两个带有两条边的顶点,结果是较大的一个.

返回最大结果值可以从给定的多边形获得.

对于最后一种情况,我们可能不需要两次合并,因为另一个数字可能是负数,所以在这种情况下我们只返回更大的数字.

我是如何解决这个问题的:

 p[i,j] denotes the maximum value we can obtain by merging nodes from labelled i to j.
 p[i,i] = v[i] -- base case
 p[i,j] = p[i,k] operator in between p[k+1,j] , for k between i to j-1.
and then p[0,n] will be my answer.
Second point , i will have to start from all the vertices and do the same as above as this will …
Run Code Online (Sandbox Code Playgroud)

algorithm matrix-multiplication data-structures

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

使用python下载时,我应该使用多线程还是多处理?

最近我正在开发一个可以从在线漫画网站下载漫画的程序。它工作但有点慢。所以我决定使用多线程/处理来加速下载。这是我的问题:

\n\n
    \n
  1. 哪个更好?(这是一个python3程序)

  2. \n
  3. 我想,多处理肯定会起作用。如果我使用多处理,合适的进程数量是多少?它与我的CPU核心数有关吗?

  4. \n
  5. 多线程可能会工作。这个下载工作显然需要很多时间来等待图片下载,所以我认为当一个线程开始等待时,python会让另一个线程工作。我是对的吗?
    \n我已阅读 \xe3\x80\x8a Inside the New GIL \xe3\x80\x8b。如果我使用多线程,GIL 有何影响?

  6. \n
\n

python networking multithreading download multiprocessing

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

python tuple,有人可以解释这种行为吗?

我发现了一些TypeError: 'tuple' object does not support item assignment关于SO的问题,但我仍然对此感到困惑:

考虑代码段:

>>> a = ([],[])
>>> a[0].append(1)       # 1
>>> a
([1], [])
>>> a[0] += [2]

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    a[0] += [2]
TypeError: 'tuple' object does not support item assignment   # 2
>>> a
([1, 2], [])   # 3
>>> 
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 元组是不可变的,但1成功地改变了它的价值.为什么?(我知道我真的不懂python不变性......)
  2. 如果1被接受,那么2加薪的原因是TypeError什么?
  3. 3,a得到修改,然后提出一个点是TypeError什么?

谢谢

python tuples

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

如何使用django-contact-form(第三方应用)?

django-contact-form是一种流行的第三方应用程序.它旨在通过为Django支持的站点提供简单,可扩展的联系表单功能来消除乏味和重复.但是我发现文档有点难以理解(也许我不够聪明:).

经过一些搜索和测试,最后我得到了它的工作.我将写下步骤和代码,以帮助那些可能在将来使用它的人.

python django email-integration contact-form

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

Windows上的python select.select()

我正在使用此处的代码测试UDP打孔。它可以在Linux上运行,但是会在Windows上报告错误。这是发生错误的代码片段:

while True:
    rfds, _, _ = select([0, sockfd], [], [])  # sockfd is a socket
    if 0 in rfds:
        data = sys.stdin.readline()
        if not data:
            break
        sockfd.sendto(data, target)
    elif sockfd in rfds:
        data, addr = sockfd.recvfrom(1024)
        sys.stdout.write(data)
Run Code Online (Sandbox Code Playgroud)

和错误消息:

Traceback (most recent call last):
  File "udp_punch_client.py", line 64, in <module>
    main()
  File "udp_punch_client.py", line 50, in main
    rfds, _, _ = select([0, sockfd], [], [])
select.error: (10038, '')
Run Code Online (Sandbox Code Playgroud)

我知道此错误与selectWindows 上的实现有关,每个人都引用以下内容:

注意 Windows上的文件对象是不可接受的,但套接字是可接受的。在Windows上,底层的select()函数由WinSock库提供,并且不处理不是源自WinSock的文件描述符。

所以我有两个问题:

  1. 是什么0在 …

python sockets windows select

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

PyMongo:我应该使用单个客户端还是多个客户端?

问题很简单:我是否应该将所有操作保留为一个MongoClient?单个客户端还是多个客户端比另一个更好?

mongodb pymongo

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

Material Angular 6 中的单行水平芯片列表

如何在 Material Angular 中创建水平滚动而不是占用多行的水平芯片列表?

typescript angular-material angular

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

如何更改角度材质的日期选择器格式

这是我在使用角形材质datepicker时获得的日期格式。Wed Nov 21 2018 00:00:00 GMT+0530 (India Standard Time)

但我需要在日期(YYYY-MM-DD)(YYYY-MM-DDTHH:mm)这种格式。

这是我用来从角形材料形式捕获数据的模型类

export class FlightSchedule {

    constructor(
        public destination: string,
        public origin: string,
        public date: string,
        public limit: string
    ) {}

}
Run Code Online (Sandbox Code Playgroud)

请帮助我,我无法转换日期YYYY-MM-DDYYYY-MM-DDTHH:mm格式。

我是Angular的新手

提前致谢

date typescript angular-material2 angular

5
推荐指数
3
解决办法
9660
查看次数