新手求助python脚本

i_Ben 2015-07-14 11:12:29
小弟最近开始接触到公司的一个工具,是用python写的,但是里面很多文件是pyc的,所以从网上找了一个反编译的工具,想写一个脚本来批量是反编译pyc文件,这个反编译工具用起来的格式是这样的 : uncompyler.py abc.pyc > abc.py
于是我边查边试着写脚本,还是搞不定,求大神指导。

import os
import subprocess
import uncompyler

p1 = os.popen("find . -name '*.pyc'")
listFiles = p1.read().split("\n")
#print listFiles
for files in listFiles:
# print files
prefix = os.path.splitext(files)
# print prefix
directory = prefix[0].split("\n")
# print directory
cmd = 'uncompyler.py directory.pyc > directory.py'
p2 = subprocess.Popen(cmd, stdout = subprocess.PIPE)
# newFile = os.popen(uncompyler.py files > directory.py)
newFile = p2.read()
print newFile

...全文
133 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lucky-lucky 2015-07-14
  • 打赏
  • 举报
回复
使用shell脚本很简单

for f in $(find . -name "*.pyc");do uncompyler.py $f > ${f/pyc/py};done
ForestDB 2015-07-14
  • 打赏
  • 举报
回复
因为你的工具的使用中有重定向,所以Popen多半就没用了; 如果uncompyler.py abc.pyc这样运行才能用Popen。
i_Ben 2015-07-14
  • 打赏
  • 举报
回复
引用 1 楼 ForestDB 的回复:
因为你的工具的使用中有重定向,所以Popen多半就没用了; 如果uncompyler.py abc.pyc这样运行才能用Popen。
非常感谢,我还需要再好好研究研究python。
i_Ben 2015-07-14
  • 打赏
  • 举报
回复
引用 2 楼 p569354158 的回复:
使用shell脚本很简单

for f in $(find . -name "*.pyc");do uncompyler.py $f > ${f/pyc/py};done
感谢,这个shell非常好用! :)

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧