【发布时间】:2017-03-15 18:29:41
【问题描述】:
我有一个 Pathfile.dat,该文件中包含文件名, 如果文件不存在,我正在尝试复制文件的备份
我遇到了函数“if files.is_file():”的问题
以下是我似乎遇到的错误
/home/admin/Pycharm/backup/test1
未找到 /home/admin/Pycharm/backup/test2
未找到 cp: ‘/home/admin/Pycharm/backup/test1’后缺少目标文件操作数
尝试“cp --help”以获取更多信息。
sh: 2: /home/admin/Pycharm/backup/: 未找到
sh: 3: _copy: 未找到
cp: ‘/home/admin/Pycharm/backup/test2’后缺少目标文件操作数
尝试“cp --help”以获取更多信息。
sh: 2: /home/admin/Pycharm/backup/: 未找到
sh: 3: _copy: 未找到
import os
from pathlib import Path
import logging
filename = 'config.dat'
Configlist = []
def createlist():
with open(filename) as f:
for item in f:
Configlist.append(os.path.abspath(item))
def copy():
for list in Configlist:
print(list)
files = Path(list)
if files.is_file():
print("Found")
else:
print("not Found")
os.system("cp -R " + list + " /home/admin/Pycharm/backup/ " + list + "_copy ")
createlist()
copy()
【问题讨论】:
-
嗨大卫,你的问题让我很困惑。如果您将多个文件路径附加到列表中,您如何将备份本身一一检查复制功能? -->Path(list) 是错误的,你不会只有一个文件。此外 os.system 命令也抛出错误,因为没有正确完成。要复制文件,您还可以使用 shutil 模块。
-
嗨,Marco,复制功能是我要解决的问题。谢谢
-
那么 cp -R 也是错误的......意思是 -R, -r, --recursive 递归复制目录 :-) 只需检查 man。
标签: python python-3.x path directory python-os