- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我看到了几个与我的问题相关的问题,但无法得到答案。
在我的程序中,我有一个需要转换为 PDF 的 .txt 文件。我遇到了执行相同操作的脚本,https://code.activestate.com/recipes/189858-python-text-to-pdf-converter/
我已将其导入到我的程序中,但我不确定如何调用和传递我的 txt 文件以便将其转换为 PDF。
.txt 到 .pdf 转换器脚本名称是 txttopdf.py 我已将其导入为 import txttopdf 并且它存在于同一目录中
我程序的最后一部分试图将 .txt 转换为 .pdf,但它给我一个语法错误。下面是我的程序 导入sqlite3 导入平台 导入系统 导入操作系统 重新进口 导入时间 导入 smtplib 导入模仿类型 导入 txttopdf 从日期时间导入日期时间 从 email.mime.multipart 导入 MIMEMultipart 从电子邮件导入编码器 来自 email.message 导入消息
from email.mime.text import MIMEText
ipstr = "unknown"
errorstr = "unknown"
gtstr = "unknown"
print "reading the file"
linuxpath = raw_input("Enter the path")
txt_file = open(linuxpath,"r")
countlines = 0
if os.stat("lastline.txt").st_size == 0:
for line in open(linuxpath):
pattern = re.compile('(([2][5][0-5]\.)|([2][0-4][0-9]\.)|([0-1]?[0-9]?[0-9]\.)){3}'+'(([2][5][0-5])|([2][0-4][0-9])|([0-1]?[0-9]?[0-9]))|[\d.]+|\:\:\d|[\w\.]+')
#([\d.]+)[\s-]+\s+"([A-Z]+)\s+(.+?)"\s+([\s\d]+)')\[([\d\/A-Za-z: -]+)\]
iprgex = pattern.search(line)
#print "hi"
countlines = countlines + 1
if iprgex:
ips = iprgex.start()
ipe = iprgex.end()
ipstr = line[ips:ipe]
#print "hi again"
#print ipstr
pattern = re.compile('[\d]+\/[A-Za-z]+\/[\d]+')
#('\[([\d\/A-Za-z: -]+)\]')
datergex = pattern.search(line)
#print "hi"
if datergex:
dates = datergex.start()
datee = datergex.end()
datestr = line[dates:datee]
#countlines = countlines + 1
#print "hi again"
#print datestr
monthstr = datestr[3:6]
#print monthstr
if monthstr == "Jan":
date_chnge = datestr.replace("Jan","01")
elif monthstr == "Feb":
date_chnge = datestr.replace("Feb","02")
elif monthstr == "Mar":
date_chnge = datestr.replace("Mar","03")
#print "am here"
#print datestr
elif monthstr == "Apr":
date_chnge = datestr.replace("Apr","04")
elif monthstr == "May":
date_chnge = datestr.replace("May","05")
elif monthstr == "Jun":
date_chnge = datestr.replace("Jun","06")
elif monthstr == "Jul":
date_chnge = datestr.replace("Jul","07")
elif monthstr == "Aug":
date_chnge = datestr.replace("Aug","08")
elif monthstr == "Sep":
date_chnge = datestr.replace("Sep","09")
elif monthstr == "Oct":
date_chnge = datestr.replace("Oct","10")
elif monthstr == "Nov":
date_chnge = datestr.replace("Nov","11")
elif monthstr == "Dec":
date_chnge = datestr.replace("Dec","12")
#print date_chnge
dt_day = date_chnge[0:2]
dt_month = date_chnge[3:5]
dt_year = date_chnge[6:]
new_date = dt_year + '-' + dt_month + '-' + dt_day
pattern = re.compile('\:[\d]+\:[\d]+\:[\d]+')
#('\[([\d\/A-Za-z: -]+)\]')
timergex = pattern.search(line)
#print "hi"
if timergex:
times = timergex.start()
timee = timergex.end()
timestr = line[times:timee]
#countlines = countlines + 1
#print "hi again"
#print timestr
extract_time = timestr[1:]
datestring = new_date + ' ' + extract_time
dt = datetime.strptime(datestring, '%Y-%m-%d %H:%M:%S')
#print dt.year, dt.month, dt.day
pattern = re.compile('"([A-Z]+)\s+(.+?)"|"\-"')
getrgex = pattern.search(line)
#print line
if getrgex:
gts = getrgex.start()
gte = getrgex.end()
gtstr = line[gts:gte]
#countlines = countlines + 1
#print "hi again"
#print gtstr
pattern = re.compile('200|401|403|404|412|500|302')
errorrgex = pattern.search(line)
#print "hi"
if errorrgex:
errors = errorrgex.start()
errore = errorrgex.end()
errorstr = line[errors:errore]
#countlines = countlines + 1
#print "hi again"
#print errorstr
file = open('parse1.txt','a')
file.write(ipstr + datestr +timestr + gtstr + errorstr + "\n")
#Analysing the get request
print countlines
#print ipstr,dt,gtstr,errorstr
with open('ALLINONE.txt','r') as f:
for cheatsheetline in f:
indexvalue = gtstr.strip().find(cheatsheetline.strip())
#print gtstr
if indexvalue > 0:
#print indexvalue
file = open('CAUTION.txt','a')
file.write(ipstr + datestr +timestr + gtstr + errorstr + "\n")
#break
file.close()
lastlinefile = open('lastline.txt','w+')
lastlinefile.write(line)
#this part should convert the txt file CAUTION.txt to PDF
#txttopdf.main()
txttopdf CAUTION.txt
最佳答案
最简单的方法是通过 subprocess.Popen
:
示例:
import sys
from subprocess import Popen, PIPE,, STDOUT
PYTEXT2PDF = "/path/to/pytext2pdf"
def convert(filename):
print("Converting {} to PDF".format(filename))
p = Popen(
[sys.executable, PYTEXT2PDF, filename],
stdout=PIPE, stderr=STDOUT
)
stdout, _ = p.communicate()
print(stdout)
convert("filename.txt")
从外观上看; pyText2Pdf
将文本文件转换为 PDF 并将输出文件命名为与输入文件相同的“basenaem”,扩展名为 .pdf
。
关于python - 在另一个脚本中调用一个 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30478474/
为了让我的代码几乎完全用 Jquery 编写,我想用 Jquery 重写 AJAX 调用。 这是从网页到 Tomcat servlet 的调用。 我目前情况的类似代码: var http = new
我想使用 JNI 从 Java 调用 C 函数。在 C 函数中,我想创建一个 JVM 并调用一些 Java 对象。当我尝试创建 JVM 时,JNI_CreateJavaVM 返回 -1。 所以,我想知
环顾四周,我发现从 HTML 调用 Javascript 函数的最佳方法是将函数本身放在 HTML 中,而不是外部 Javascript 文件。所以我一直在网上四处寻找,找到了一些简短的教程,我可以根
我有这个组件: import {Component} from 'angular2/core'; import {UserServices} from '../services/UserService
我正在尝试用 C 实现一个简单的 OpenSSL 客户端/服务器模型,并且对 BIO_* 调用的使用感到好奇,与原始 SSL_* 调用相比,它允许一些不错的功能。 我对此比较陌生,所以我可能会完全错误
我正在处理有关异步调用的难题: 一个 JQuery 函数在用户点击时执行,然后调用一个 php 文件来检查用户输入是否与数据库中已有的信息重叠。如果是这样,则应提示用户确认是否要继续或取消,如果他单击
我有以下类(class)。 public Task { public static Task getInstance(String taskName) { return new
嘿,我正在构建一个小游戏,我正在通过制作一个数字 vector 来创建关卡,该数字 vector 通过枚举与 1-4 种颜色相关联。问题是循环(在 Simon::loadChallenge 中)我将颜
我有一个java spring boot api(数据接收器),客户端调用它来保存一些数据。一旦我完成了数据的持久化,我想进行另一个 api 调用(应该处理持久化的数据 - 数据聚合器),它应该自行异
首先,这涉及桌面应用程序而不是 ASP .Net 应用程序。 我已经为我的项目添加了一个 Web 引用,并构建了各种数据对象,例如 PayerInfo、Address 和 CreditCard。但问题
我如何告诉 FAKE 编译 .fs文件使用 fsc ? 解释如何传递参数的奖励积分,如 -a和 -target:dll . 编辑:我应该澄清一下,我正在尝试在没有 MSBuild/xbuild/.sl
我使用下划线模板配置了一个简单的主干模型和 View 。两个单独的 API 使用完全相同的配置。 API 1 按预期工作。 要重现该问题,请注释掉 API 1 的 URL,并取消注释 API 2 的
我不确定什么是更好的做法或更现实的做法。我希望从头开始创建目录系统,但不确定最佳方法是什么。 我想我在需要显示信息时使用对象,例如 info.php?id=100。有这样的代码用于显示 Game.cl
from datetime import timedelta class A: def __abs__(self): return -self class B1(A):
我在操作此生命游戏示例代码中的数组时遇到问题。 情况: “生命游戏”是约翰·康威发明的一种细胞自动化技术。它由一个细胞网格组成,这些细胞可以根据数学规则生存/死亡/繁殖。该网格中的活细胞和死细胞通过
如果我像这样调用 read() 来读取文件: unsigned char buf[512]; memset(buf, 0, sizeof(unsigned char) * 512); int fd;
我用 C 编写了一个简单的服务器,并希望调用它的功能与调用其他 C 守护程序的功能相同(例如使用 ./ftpd start 调用它并使用 ./ftpd stop 关闭该实例)。显然我遇到的问题是我不知
在 dos 中,当我粘贴此命令时它会起作用: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" https://google.
在 dos 中,当我粘贴此命令时它会起作用: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" https://google.
我希望能够从 cmd 在我的 Windows 10 计算机上调用 python3。 我已重新安装 Python3.7 以确保选择“添加到路径”选项,但仍无法调用 python3 并使 CMD 启动 P
我是一名优秀的程序员,十分优秀!