Pyinstaller:创建和读取txt文件

时间:2018-07-02 11:41:51

标签: python pyinstaller

我非常急于构建我的第一个Mac应用程序,但是Pyinstaller对于像我这样的python新手来说是如此困难...

我的脚本创建.txt文件并读取它们。在我的环境中可以正常使用,但是无法作为Pyinstaller应用程序使用。

脚本仅从一个文件夹(带有两个子文件夹)开始,在该文件夹中它将在执行期间创建文件,最后将打开所创建的文件。

这是我的规格:

# -*- mode: python -*-

block_cipher = None

added_files = [
     ( 'results/f', 'results_f' ),
     ( 'results/j', 'results_j' ),
     ]

a = Analysis(['noticias.py'],
         pathex=['/Users/luroch/Desktop/news/tribnews/noticias'],
         binaries=[],
         datas=added_files,
         hiddenimports=[],
         hookspath=[],
         runtime_hooks=[],
         excludes=[],
         win_no_prefer_redirects=False,
         win_private_assemblies=False,
         cipher=block_cipher)

pyz = PYZ(a.pure, a.zipped_data,
         cipher=block_cipher)

exe = EXE(pyz,
      a.scripts,
      exclude_binaries=True,
      name='noticias',
      debug=False,
      strip=False,
      upx=True,
      console=True )

coll = COLLECT(exe,
           a.binaries,
           a.zipfiles,
           a.datas,
           strip=False,
           upx=True,
           name='noticias')

在我的.py文件中,这是创建.txt文件的功能:

def writing(text, subf, file_name):
    if subf.upper() == 'F':
        subfolder = 'f'
    elif subf.upper() == 'J':
        subfolder = 'j'
    else:
        print('No subfolder...')
        return False
    name = 'results/' + subfolder + '/' + file_name + '.txt'
    with open(name, 'a') as f:
        f.write(text)

...这是打开在执行过程中创建的.txt文件的函数:

def openFile(file_name):
    subf = txtname.get()
    if (not subf) or (subf.upper() != 'F') and (subf.upper() != 'J'):
        return False
    subfolder = subf.lower()
    fileToOpen = 'results/' + subfolder + '/' + file_name + '.txt'
    subprocess.call(['open', fileToOpen])

我的.py文件所在的文件夹包含一个results文件夹,其中包含fj子文件夹。如我所说,在我的env中,一切正常。

您能帮我制作我的第一个Mac App吗?

0 个答案:

没有答案