linux怎么创建python文件_Python脚本不在linux上创建文本文件

我有一个脚本来查找3个月前创建的目录(在OperDir中),以及查找一年前创建的目录(DelDir)。它使用dirname并用这些dirname创建一个.txt文件。它在Windows上可以正常工作,但是不能在Linux上创建文件,即使是在根目录下。可能是权限问题还是其他问题?代码如下:import os, time, sys

from os.path import join, getsize, isfile, isdir, splitext

import ctypes

import platform

from os import path

import shutil

import logging

from logging import handlers

from datetime import datetime, timedelta

def checkTime(timed):

curr_time = str(time.gmtime())

year_st = curr_time.find('tm_year') + 8

year_fin = curr_time.find('tm_mon') - 2

year = int(curr_time[year_st:year_fin:1])

month_st = curr_time.find('tm_mon') + 7

month_fin = curr_time.find('tm_mday') - 2

month = int(curr_time[month_st:month_fin:1])

day_st = curr_time.find('tm_mday') + 8

day_fin = curr_time.find('tm_hour') - 2

day = int(curr_time[day_st:day_fin:1])

if timed == 'year':

return year

elif timed == 'month':

return month

elif timed == 'day':

return day

def split(path):

head, tail = os.path.split(path)

return tail

def moveFileOperativeTest(pathOper, pathDelete, nameOper):

logfile = open('MovedFilesLog.txt', 'a+')

logfile.write(str(checkTime('day')) + '.' + str(checkTime('month')) + '.' + str(checkTime('year')) + ' - ' + "File '%s' will be moved from '%s' to the '%s'.\n" % (nameOper, pathOper, pathDelete))

logfile.close

'''with open('MovedFilesLog.txt', 'a') as logfile:

logfile.write(checkTime('day') + '.' + checkTime('month') + '.' + checkTime('year') + ' - ' + "File '%s' will be moved from '%s' to the '%s'.\n" % (nameOper, pathOper, pathDelete))

logfile.close()'''

def removeFileTest(pathDelete, nameDelete):

logfile = open('RemovedFilesLog.txt', 'a+')

logfile.write(str(checkTime('day')) + '.' + str(checkTime('month')) + '.' + str(checkTime('year')) + ' - ' + "File '%s' will be removed from '%s' directory.\n" % (nameDelete, pathDelete))

logfile.close

'''with open('RemovedFilesLog.txt', 'a') as logfile:

logfile.write(checkTime('day') + '.' + checkTime('month') + '.' + checkTime('year') + ' - ' + "File '%s' will be removed from '%s' directory.\n" % (nameDelete, pathDelete))

logfile.close()'''

def pathed(pathOper, pathDelete, yearOper, monthOper, dayOper, yearDel, monthDel, dayDel):

for dirname, dirnames, filenames in os.walk(pathOper):

for subdirname in dirnames:

dirpath = os.path.join(dirname, subdirname)

if getCreationDate(dirpath, 'day') == dayOper and getCreationDate(dirpath, 'month') == monthOper and getCreationDate(dirpath, 'year') == yearOper:

nameOper = split(dirpath)

print "opername = " +nameOper

moveFileOperativeTest(pathOper, pathDelete, nameOper)

#moveFileOperative(pathOper, pathDelete, nameOper)

for dirname, dirnames, filenames in os.walk(pathDelete):

for subdirname in dirnames:

dirpath = os.path.join(dirname, subdirname)

if getCreationDate(dirpath, 'day') == dayOper and getCreationDate(dirpath, 'month') == monthOper and getCreationDate(dirpath, 'year') == yearOper:

nameDelete = split(dirpath)

print 'namedel = ' + nameDelete

removeFileTest(pathDelete, nameDelete)

#removeFile(pathDelete, nameDelete)

print 'Done'

def dateCheck(pathOper, pathDelete):

operVar = 92

delVar = 365

operDate = datetime.now() - timedelta(days=operVar)

delDate = datetime.now() - timedelta(days=delVar)

yearOper = int(str(operDate)[0:4:1])

monthOper = int(str(operDate)[5:7:1])

dayOper = int(str(operDate)[8:10:1])

yearDel = int(str(delDate)[0:4:1])

monthDel = int(str(delDate)[5:7:1])

dayDel = int(str(delDate)[8:10:1])

pathed(pathOper, pathDelete, yearOper, monthOper, dayOper, yearDel, monthDel, dayDel)

def getCreationDate(path, timed):

dict_month = {'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6, 'Jul': 7, 'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12}

creation = str(time.ctime(os.path.getctime(path)))

month = int(dict_month.get(creation[4:7:1]))

day = int(creation[8:10:1])

year = int(creation[-4::1])

if timed == 'day':

return day

elif timed == 'month':

return month

else:

return year

dateCheck("/opt/***", "/opt/****")

如果这是个愚蠢的问题,我很抱歉,我是Python新手。在

谢谢你的帮助。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值