0

我有一个 Python 2.7 脚本,它只能在 IDLE 上完美运行,结果如下所示:

**Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> 
================ RESTART: D:\Act\Temp\2017\Bukti_PPR\xxx1.py ================
38, 23, 35, 36, 38, 36, 35, 36, 37, 36, 34, 36, 420
>>>** 

但是,在 cmd 我得到这样的结果:

**C:\Users\DELL>C:\Python27\python.exe D:\Act\Temp\2017\Bukti_PPR\xxx1.py

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0**

我需要 IDLE 视图中的结果。有人遇到过和我一样的问题吗?以及如何解决它?是的,我的情况让我只使用 Python 2.7。

这是我的代码,想法是在一年中每月计算 *.png 文件

import fnmatch
import os

pattern1 = "*201701*.png"
pattern2 = "*201702*.png"
pattern3 = "*201703*.png"
pattern4 = "*201704*.png"
pattern5 = "*201705*.png"
pattern6 = "*201706*.png"
pattern7 = "*201707*.png"
pattern8 = "*201708*.png"
pattern9 = "*201709*.png"
pattern10 = "*201710*.png"
pattern11 = "*201711*.png"
pattern12 = "*201712*.png"
this1 = []
this2 = []
this3 = []
this4 = []
this5 = []
this6 = []
this7 = []
this8 = []
this9 = []
this10 = []
this11 = []
this12 = []
#fold = []
for root, dirs, files in os.walk("."):
    for entry in fnmatch.filter(files, pattern1):
            this1.append(entry)
            #fold.append(os.path.join(root,entry))
    for entry in fnmatch.filter(files, pattern2):
            this2.append(entry)
            #fold.append(os.path.join(root,entry))
    for entry in fnmatch.filter(files, pattern3):
            this3.append(entry)
            #fold.append(os.path.join(root,entry))
    for entry in fnmatch.filter(files, pattern4):
            this4.append(entry)
            #fold.append(os.path.join(root,entry))
    for entry in fnmatch.filter(files, pattern5):
            this5.append(entry)
            #fold.append(os.path.join(root,entry))
    for entry in fnmatch.filter(files, pattern6):
            this6.append(entry)
            #fold.append(os.path.join(root,entry))
    for entry in fnmatch.filter(files, pattern7):
            this7.append(entry)
            #fold.append(os.path.join(root,entry))
    for entry in fnmatch.filter(files, pattern8):
            this8.append(entry)
            #fold.append(os.path.join(root,entry))
    for entry in fnmatch.filter(files, pattern9):
            this9.append(entry)
            #fold.append(os.path.join(root,entry))
    for entry in fnmatch.filter(files, pattern10):
            this10.append(entry)
            #fold.append(os.path.join(root,entry))
    for entry in fnmatch.filter(files, pattern11):
            this11.append(entry)
            #fold.append(os.path.join(root,entry))
    for entry in fnmatch.filter(files, pattern12):
            this12.append(entry)
            #fold.append(os.path.join(root,entry))

bulan = [len(this1),len(this2),len(this3),len(this4),len(this5),len(this6),len(this7),len(this8),len(this9),len(this10),len(this11),len(this12)]
setahun = sum(bulan)
jumlah = [len(this1),len(this2),len(this3),len(this4),len(this5),len(this6),len(this7),len(this8),len(this9),len(this10),len(this11),len(this12), setahun]
#print (jumlah)
print (', '.join(map(str, jumlah)))

先感谢您

4

1 回答 1

0

谢谢你的建议,很有帮助

所以我添加print(os.getcwd())到我的代码中,真的得到了错误的工作目录。很抱歉为此固执,因为我以前对 Python 3.6 没有任何问题

然后我对cmd这样做,有点麻烦,因为我必须去我的确切目录,但没关系

C:\Users\DELL>d:

D:\>cd Act\Temp\2017\Bukti_PPR

D:\Act\Temp\2017\Bukti_PPR>C:\Python27\python.exe D:\Act\Temp\2017\Bukti_PPR\xxx1.py
D:\Act\Temp\2017\Bukti_PPR
38, 23, 35, 36, 38, 36, 35, 36, 37, 36, 34, 36, 420

这就是答案,希望对类似问题有用

于 2018-07-24T05:21:22.340 回答