【问题标题】:Why is this code not working on windows, it works well on mac为什么这段代码不能在 windows 上运行,它在 mac 上运行良好
【发布时间】:2019-08-17 05:27:31
【问题描述】:

此代码可在 Mac 上运行,但不能在 Windows 上运行。我使用 pycharm (2019.2) 作为 IDE 和 python 3.7。

import glob
import shutil
import os
dst = '/base/a/CAR1'
alter = '/base/a/CAR2'
path = '/base/a/Tub*'

for filename in glob.glob(path + 'Finsa*.txt'):
    if '19999' in open(filename, 'r').read():
        shutil.copyfile(filename, os.path.join(dst, os.path.basename(filename)))
    elif '18888' in open(filename, 'r').read():
        shutil.copyfile(filename, os.path.join(alter, os.path.basename(filename)))

即使我执行以下操作也不起作用 -

for filename in glob.glob('C:/user/base/a/CAR1*.txt'):
    print(filename)

结果:
进程以退出代码 0 结束。

这是因为python无法读取Windows文件目录吗?我已经尝试了所有方法,包括反斜杠、正斜杠、双斜杠。

【问题讨论】:

标签: python python-3.x


【解决方案1】:

使用 os 模块并将基础文件夹放在你的项目目录中:

import os

path = os.path.join(os.getcwd(), 'base', 'a', 'Tub*')

for filename in glob.glob(os.path.join(path, 'Finsa*.txt')):

您获得了平台之间的可移植性(假设在 Windows 和 Linux 中,基本文件夹都在 python 项目空间中)。

【讨论】:

  • 感谢这工作。感谢你的帮助。这个论坛很震撼
猜你喜欢
  • 1970-01-01
  • 2021-03-13
  • 2019-03-05
  • 2020-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-10
  • 1970-01-01
相关资源
最近更新 更多