小编Mar*_*kin的帖子

如何使用文件修改日期制作按时间顺序排列的文件列表

我想在一个扩展名为.bas的目录中创建这些文件的列表,并在2011年6月1日之后进行了修改.另外,我想知道如何选择让列表中的文件显示日期和文件上次修改的时间,例如'filename.bas 2011-06-04_AM.00.30'

我是一个蟒蛇新手.我能够列出具有.bas扩展名的文件,按日期排序,使用以下代码:

from stat import S_ISREG, ST_CTIME, ST_MODE
import os, sys, time, glob
search_dir = r"e:\test"
files = filter(os.path.isfile, glob.glob(search_dir + "\\*.bas"))
files.sort(key=lambda x: os.path.getmtime(x))
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚如何将"日期"附加到列表中的文件名.

任何建议将非常感谢.

python datetime directory-listing

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

python:哪个文件更新,多少时间

我正在尝试创建一个提交比较例程.我怀疑以下是一种相当笨重的方法.

我很难找到关于timedelta的属性或方法的信息,或者无论它们被称为什么; 因此,我仅在天,分和秒方面测量日期时间差异,并且没有列表项目代表年份.

任何关于替代方案的建议都将非常感激.

import os
import datetime
from datetime import datetime
import sys

def datetime_filedif(filepath1e, filepath2e):
    filelpath1 = str(filepath1e)
    filepath1 = str(filepath1e)
    filepath2 = str(filepath2e)

    filepath1_lmdate = datetime.fromtimestamp(os.path.getmtime(filepath1))
    filepath2_lmdate = datetime.fromtimestamp(os.path.getmtime(filepath2))

    td_files = filepath2_lmdate - filepath1_lmdate #Time delta of the 2 filedates
    td_list = [('td_files.days', td_files.days), ('td_hrs', int(str(td_files.seconds))/3600), ('td_minutes', (int(str(td_files.seconds))%3600)/60), ('td_seconds', (int(str(td_files.seconds))%3600)%60)]

    print "Line 25: ", str(td_list)

    return td_list
Run Code Online (Sandbox Code Playgroud)

python comparison timedelta

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

Python正则表达式; 为什么搜索和匹配似乎在数字字符串中找到alpha字符?

我在Idle中运行搜索,在Windows总线上的Python 2.7中运行.64位环境.
根据RegexBuddy的说法,搜索模式('patternalphaonly')不应该与一串数字产生匹配.

我查看了"http://docs.python.org/howto/regex.html",但没有看到任何可以解释为什么搜索和匹配似乎成功找到匹配模式的东西.

有谁知道我做错了什么,或者误会了?

>>> import re
>>> numberstring = '3534543234543'
>>> patternalphaonly = re.compile('[a-zA-Z]*')
>>> result = patternalphaonly.search(numberstring)
>>> print result
<_sre.SRE_Match object at 0x02CEAD40>
>>> result = patternalphaonly.match(numberstring)
>>> print result
<_sre.SRE_Match object at 0x02CEAD40>
Run Code Online (Sandbox Code Playgroud)

谢谢

python regex

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

使用Python模块在文件上打开资源管理器

我是一个python新手,我在使用一些非常有用的代码制作模块时遇到了一些困难: 在一个文件上打开资源管理器.

我无法弄清楚我做错了什么.

我收到以下错误消息:

第31行:C:\ Apps\E_drive\Python_win32Clipboard.pdf第34行:r'explorer/select,"C:\ Apps\E_drive\Python_win32Clipboard.pdf"'Traceback(最近一次调用最后一次):文件"P:\ Data \在Open_Win_Explorer_and_Select_Fil(文件路径)文件中的VB\Python_MarcsPrgs\Python_ItWorks\Open_Win_Explorer_and_Select_File.py"第42行文件"P:\ Data\VB\Python_MarcsPrgs\Python_ItWorks\Open_Win_Explorer_and_Select_File.py",第35行,在Open_Win_Explorer_and_Select_Fil subprocess.Popen(Popen_arg)文件中" C:\ Python27\lib\subprocess.py",第679行,在init errread,errwrite中)文件"C:\ Python27\lib\subprocess.py",第893行,在_execute_child startupinfo中)WindowsError:[错误2]系统找不到指定的文件

这是我的模块:

"""
Open Win Explorer and Select File
# "C:\Apps\E_drive\Python_win32Clipboard.pdf"
"""
import sys
import os, subprocess, pdb

def fn_get_txt_sysarg():
    "Harvest a single (the only) command line argument"
    # pdb.set_trace()
    try:
        arg_from_cmdline = sys.argv[1]
        arg_from_cmdline = str(arg_from_cmdline)

    except:
        this_scriptz_FULLName = sys.argv[0]

        ErrorMsg = "Message from fn_get_txt_sysarg() in Script (" + this_scriptz_FULLName + '):\n' \
        + "\tThe Script did not receive a command line …
Run Code Online (Sandbox Code Playgroud)

python subprocess pywin32

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

AttributeError: 'QTextEdit' 对象没有属性 'text'

有时我需要用递增的数字制作多个代码副本。在我正在编码的表单中,我需要创建 12 个以上的复选框,每个复选框都需要以下代码:

    self.checkBox1 = QtGui.QCheckBox()
    self.checkBox1.setGeometry(QtCore.QRect(20, 20, 70, 17))
    self.checkBox1.setObjectName(_fromUtf8("checkBox1"))
Run Code Online (Sandbox Code Playgroud)

下面的脚本使我能够避免手动更改每个复选框的数字的无聊任务。我只是将上面的 3 行复制到 Windows 剪贴板中,然后...我将“checkBox”插入到表单的第一个字段中,将“1”插入到第二个字段中,将 12 插入到第三个字段中。当我点击“确定”按钮时,3 行的 12 个按顺序编号的副本出现在表单的第 4 个字段中。我希望这对其他人有所帮助。马克

这是我的代码:

    # -*- coding: latin-1 -*-
"""
duplicate_text_with_incrementing_nos_for_programming_and_paste_to_clipboard.py
Harvest text from clipboard and run functions below, and then paste back to clipboard

"""

import sys
from PyQt4 import QtCore
from PyQt4 import QtGui
from PyQt4.QtCore import (Qt, SIGNAL)
from PyQt4.QtGui import (QApplication, QDialog, QHBoxLayout, QLabel,
        QPushButton)


class Form(QDialog):

    def __init__(self, parent=None):
        super(Form, self).__init__(parent)

        self.initUI()

    def initUI(self):
        okButton01 …
Run Code Online (Sandbox Code Playgroud)

qt pyside qlineedit python-2.7

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

QApplication'未定义

我从http://www.pythoncentral.io/pyside-pyqt-tutorial-interactive-widgets-and-layout-containers/下载了以下脚本. 我收到以下错误消息:NameError:name'QApplication'未定义

我添加了脚本的前两行.这没有用.我想也许我一定不能安装qt.但是当我试图运行PyQt4-4.10.3-gpl-Py2.7-Qt4.8.5-x32.exe时,程序告诉我它已经安装好了.

有没有人有什么建议?

# copied from http://www.pythoncentral.io/pyside-pyqt-tutorial-interactive-widgets-and-layout-containers/
# Every Qt application must have one and only one QApplication object;
# it receives the command line arguments passed to the script, as they
# can be used to customize the application's appearance and behavior

import sys
from PyQt4 import QtGui, QtCore
#import PyQt4.QtGui, PyQt4.QtCore
qt_app = QApplication(sys.argv)

class AbsolutePositioningExample(QWidget):
    ''' An example of PySide absolute positioning; the main window
        inherits from QWidget, a convenient widget for …
Run Code Online (Sandbox Code Playgroud)

python qt pyqt

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

如何在位置10,100处放置python Reportlab表并使用drawString

我是python爱好者和reportlab新手。
我知道如何使用drawString将文本放在页面上的特定位置,例如:c.drawString(10,100,“ Welcome to Reportlab!”)

但是我不知道如何放置表格(只有几行长),以便表格从与c.drawString(10,100,“ Welcome to Reportlab!”)相同的位置开始如果我学习如何将桌子放在那儿,可以放在其他地方。

我也无法弄清楚如何在同一脚本中使用drawString,因为使用画布是我知道如何使用drawString函数的唯一方法。我的4行画布代码(在本段之后)将关闭画布/文件并创建PDF。该表代码(下面进一步)也关闭了文件并构建了PDF,并且我看不到如何使用“ doc.build(elements)”行来关闭用于drawString操作的画布。

c = canvas.Canvas(r"e:\hellonu.pdf", pagesize=letter)
c.setFont("Courier", 9) #choose your font type and font size
c.drawString(10,60,"Welcome to Reportlab!")
c.save()
Run Code Online (Sandbox Code Playgroud)

我将不胜感激您可以为我提供的所有指导(1)如何放置表格,使其始于10,100,以及(2)如何在同一脚本中使用drawString。如果我的某些代码无用,请不要以为我是故意放进去的;我尝试从示例中复制足够的内容,以便我的表具有自动换行功能。

这是我一直在玩的代码:

# http://zewaren.net/site/node/139
from reportlab.lib import colors
from reportlab.lib.pagesizes import LETTER, inch, portrait
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Paragraph
from reportlab.lib.styles import getSampleStyleSheet


doc = SimpleDocTemplate(r"e:\test_report_lab.pdf", pagesize=LETTER, rightMargin=30,leftMargin=30, topMargin=30,bottomMargin=18)
doc.pagesize = portrait(LETTER)
elements = []


data = [
["Directory"],
["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA "],
]


style = TableStyle([('ALIGN',(1,1),(-2,-2),'RIGHT'),
                       ('TEXTCOLOR',(1,1),(-2,-2),colors.red),
                       ('VALIGN',(0,0),(0,-1),'TOP'),
                       ('INNERGRID', …
Run Code Online (Sandbox Code Playgroud)

reportlab drawstring python-2.7

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