当前位置:首页 » 编程语言 » pythonifnotexist

pythonifnotexist

发布时间: 2022-09-03 17:05:31

Ⅰ bat获取python文件的返回值

你要说具体一点,你的需求太另类了。
获取到的信息你要放在哪呢,是要做什么处理?
如果你是要用另一个程序接收,那是python与另一个程序的通讯问题。
如果只是保存到哪个文件,你的python程序就可以完成。

Ⅱ python直接读txt(或者excel)里面的文件名,然后找到那个目录里,把他们复制出来到新的文件,求代码

1 安装xlrd模块

pipinstallxlrd

2 读取Excel

#-*-coding:utf-8-*-
importxlrd
importos,shutil
defopen_excel(file='file.xls'):
try:
data=xlrd.open_workbook(file)
returndata
exceptException,e:
printstr(e)

defmyfile(srcfile,dstfile):
ifnotos.path.isfile(srcfile):
print"%snotexist!"%(srcfile)
else:
fpath,fname=os.path.split(dstfile)#分离文件名和路径
ifnotos.path.exists(fpath):
os.makedirs(fpath)#创建路径
shutil.file(srcfile,dstfile)#复制文件
print"%s->%s"%(srcfile,dstfile)


dst='D:\temp\'
myfile(srcfile,dstfile)

file_paths=data
forpinfile_paths:
srcfile=p
dstfile=dst+p.splt('/')[-1]
myfile(srcfile,dstfile)

Ⅲ python如何判断self.属性是否存在

一般来说,在Python中,类实例属性的访问规则算是比较直观的。

但是,仍然存在一些不是很直观的地方,特别是对C++和Java程序员来说,更是如此。

在这里,我们需要明白以下几个地方:

1.Python是一门动态语言,任何实体都可以动态地添加或删除属性。
2.一个类定义了一个作用域。
3.类实例也引入了一个作用域,这与相应类定义的作用域不同。
4.在类实例中查找属性的时候,首先在实例自己的作用域中查找,如果没有找到,则再在类定义的作用域中查找。
5.在对类实例属性进行赋值的时候,实际上会在类实例定义的作用域中添加一个属性(如果还不存在的话),并不会影响到相应类中定义的同名属性。

下面看一个例子,加深对上述几点的理解:

复制代码
代码如下:

class A:
cls_i = 0
cls_j
= {}
def __init__(self):
self.instance_i =
0
self.instance_j =
{}

在这里,我们先定义类A的一个实例a,然后再看看类A的作用域和实例a的作用域中分别有什么:

复制代码
代码如下:

>>> a = A()
>>>
a.__dict__
{'instance_j': {}, 'instance_i': 0}
>>>
A.__dict__
{'__init__': , '__mole__': '__main__', 'cls_i': 0, 'cls_j': {},
'__doc__': None}

我们看到,a的作用域中有instance_i和instance_j,A的作用域中有cls_i和cls_j。

我们再来看看名字查找是如何发生的:

复制代码
代码如下:

>>> a.cls_i
0
>>>
a.instance_i
0

在查找cls_i的时候,实例a的作用域中是没有它的,却在A的作用域中找到了它;在查找instance_i的时候,直接可在a的作用域中找到它。

如果我们企图通过实例a来修改cls_i的值,那会怎样呢:

复制代码
代码如下:

>>> a.cls_i = 1
>>>
a.__dict__
{'instance_j': {}, 'cls_i': 1, 'instance_i': 0}
>>>
A.__dict__
{'__init__': , '__mole__': '__main__', 'cls_i': 0, 'cls_j': {},
'__doc__': None}

我们可以看到,a的作用域中多了一个cls_i属性,其值为1;同时,我们也注意到A作用域中的cls_i属性的值仍然为0;在这里,我们其实是增加了一个实例属性,并没有修改到类属性。

如果我们通过实例a操纵cls_j中的数据(注意不是cls_j本身),又会怎么样呢:

复制代码
代码如下:

>>> a.cls_j['a'] =
'a'
>>> a.__dict__
{'instance_j': {}, 'cls_i': 1, 'instance_i':
0}
>>> A.__dict__
{'__init__': , '__mole__': '__main__',
'cls_i': 0, 'cls_j': {'a': 'a'}, '__doc__': None}

我们可以看到a的作用域没有发生什么变化,但是A的作用域发生了一些变化,cls_j中的数据发生了变化。

实例的作用域发生变化,并不会影响到该类的其它实例,但是类的作用域发生变化,则会影响到该类的所有实例,包括在这之前创建的实例:

复制代码
代码如下:

>>> A.cls_k = 0

Ⅳ python里出现keyerror 怎么解决

keyerror一般是你使用字典里不存在的key产生的错误,避免产生错误的方法很简单,使用字典的get方法,它接受一个key和一个默认值,这个默认值只有key不存在的使用返回,存在则只接访问key的值。

以下为解决方法:

如果不知道dict中是否有key的值,那么最好用

dict.get(key)

如果用dict[key]这个读取会报KeyError异常,

根据不同情况用不同的方式

python,go,redis,mongodb,.net,C#,F#,服务器架构

(4)pythonifnotexist扩展阅读:

Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。

Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNUGeneral Public License)协议 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

Ⅳ python 怎么实现两台服务器上批量复制文件

1、把excel里文件名那一列复制,粘进一个空白的文本文件,命名为filelist.txt,上传到服务器。

2、在服务器上使用脚本导出,python脚本 fileCp.py 。

代码示例:
#! python
#coding:utf-8

##!/usr/bin/python
# Filename : fileCp.py
import sys
import os
import shutil

fileList='filelist.txt'
targetDir='files'

filedir = open(fileList)
line = filedir.readline()
log = open('running.log','w')
while line:
line = line.strip('\n');
basename = os.path.basename(line)
exists = os.path.exists(line)
if exists :
print ' '+line+' to '+os.getcwd()+'/'+targetDir+'/'+basename
log.write(' '+line+' to '+os.getcwd()+'/'+targetDir+'/'+basename+'\r\n')
shutil.(line,targetDir+'/'+basename)
else:
print line+' not exists'
log.write(line+' not exists'+'\r\n')
line = filedir.readline()
log.close()

Ⅵ Python 读写文件并按照固定格式输出

结果打印出来还是输出到文件 中?

Ⅶ python语句实现 python 3 实现


#!/usr/bin/python3.4
#-*-coding:utf-8-*-

importos


#找出文件夹下所有.xml后缀的文件
deflistfiles(rootdir,prefix='.xml'):
file=[]
forparent,dirnames,filenamesinos.walk(rootdir):
ifparent==rootdir:
forfilenameinfilenames:
iffilename.endswith(prefix):
file.append(filename)
returnfile
else:
pass


#替换名字
defreplacename(formername,aftername):
os.rename(formername,aftername)


if__name__=="__main__":
#读取文本信息
file=open("../txt/info.txt","r")
#以空格分隔,返回数组['1','张三','1234','北京','2','李四','5678','天津']
infos=file.read().split("")
file.close()

#照片的存放位置
phopath="../pho"
#输出照片的名字['../pho/5678.jpg']
#只有5678的照片,没有1234的
phonames=listfiles(phopath,"jpg")
#得到照片的身份证号
phonums=[]
foriteminphonames:
phonums.append(item.replace(".jpg",""))

#判断是否存在相应的身份证,如果存在就替换成名字
foriinrange(0,int(len(infos)/4)):
#出现身份证号码的步长
step=2+i*4

forjinrange(0,len(phonums)):
#如果身份证匹配就替换
ifinfos[step]==phonums[j]:
replacename(phopath+"/"+phonames[j],phopath+"/"+infos[step-1]+".jpg")

pho文件夹:

txt文本信息:

1 张三 1234 北京 2 李四 5678 天津

文件夹位置:

--py(存放代码)

--txt(存放txt)

--pho(存放张片)

Ⅷ python怎么判断文件是否存在

正文

通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。

这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。

回到顶部

1.使用os模块

os模块中的os.path.exists()方法用于检验文件是否存在。

  • 判断文件是否存在

  • import os

  • os.path.exists(test_file.txt)#Trueos.path.exists(no_exist_file.txt)#False

  • 判断文件夹是否存在

  • import os

  • os.path.exists(test_dir)#Trueos.path.exists(no_exist_dir)#False

  • 可以看出用os.path.exists()方法,判断文件和文件夹是一样。

    其实这种方法还是有个问题,假设你想检查文件“test_data”是否存在,但是当前路径下有个叫“test_data”的文件夹,这样就可能出现误判。为了避免这样的情况,可以这样:

  • 只检查文件

    import os
    os.path.isfile("test-data")
  • 通过这个方法,如果文件”test-data”不存在将返回False,反之返回True。

    即是文件存在,你可能还需要判断文件是否可进行读写操作。

    回到顶部

    判断文件是否可做读写操作

    使用os.access()方法判断文件是否可进行读写操作。

    语法:

    os.access(path, mode)

    path为文件路径,mode为操作模式,有这么几种:

  • os.F_OK: 检查文件是否存在;

  • os.R_OK: 检查文件是否可读;

  • os.W_OK: 检查文件是否可以写入;

  • os.X_OK: 检查文件是否可以执行

  • 该方法通过判断文件路径是否存在和各种访问模式的权限返回True或者False。

  • import osif os.access("/file/path/foo.txt", os.F_OK): print "Given file path is exist."if os.access("/file/path/foo.txt", os.R_OK): print "File is accessible to read"if os.access("/file/path/foo.txt", os.W_OK): print "File is accessible to write"if os.access("/file/path/foo.txt", os.X_OK): print "File is accessible to execute"

  • 回到顶部

    2.使用Try语句

    可以在程序中直接使用open()方法来检查文件是否存在和可读写。

    语法:

    open()

    如果你open的文件不存在,程序会抛出错误,使用try语句来捕获这个错误。

    程序无法访问文件,可能有很多原因:

  • 如果你open的文件不存在,将抛出一个FileNotFoundError的异常;

  • 文件存在,但是没有权限访问,会抛出一个PersmissionError的异常。

  • 所以可以使用下面的代码来判断文件是否存在:

  • try:

  • f =open()

  • f.close()except FileNotFoundError: print "File is not found."except PersmissionError: print "You don't have permission to access this file."

  • 其实没有必要去这么细致的处理每个异常,上面的这两个异常都是IOError的子类。所以可以将程序简化一下:

  • try:

  • f =open()

  • f.close()except IOError: print "File is not accessible."

  • 使用try语句进行判断,处理所有异常非常简单和优雅的。而且相比其他不需要引入其他外部模块。

    回到顶部

    3. 使用pathlib模块

    pathlib模块在Python3版本中是内建模块,但是在Python2中是需要单独安装三方模块。

    使用pathlib需要先使用文件路径来创建path对象。此路径可以是文件名或目录路径。

  • 检查路径是否存在

  • path = pathlib.Path("path/file")

  • path.exist()

  • 检查路径是否是文件

  • path = pathlib.Path("path/file")

  • path.is_file()

Ⅸ 求python大神,题目是write a program to keep track of conference attendees

#! sur/bin/env python
'''
Copyright (C)2012
@authored by tws
last modefied at 2012/12/2 23:52
'''
import pickle,os
data = []
filename = os.getcwd() + os.path.sep + 'data' #文件保存路径

def main():
global data #存放数据的列表
data = load()
string = '''
(A)dd new
(D)ispaly
(R)emove
(S)how all
(L)ist
(Q)uit
'''
while True:
action = input(string)
if action in 'Aa':
add()
elif action in 'Dd':
Display()
elif action in 'Rr':
Remove()
elif action in 'Ss':
Show()
elif action in 'Ll':
List()
elif action in 'Qq':
save()
break
else:
print('error,please input correct instruction')
def add():
info = {}
name = input('Input name\n')
company = input('Input company\n')
state = input('Input State\n')
email = input('Input E-mail Address\n')
info['name'] = name
info['company'] = company
info['state'] = state
info['email'] = email
data.append(info)#添加一个人的信息到数据结构
def Display():
msg = input('which person would want to know(name)?\n')
exist = False #是否存在此人
for item in data:
if item['name'] == msg:
printdata(item)
exist = True
if not exist:
print('no such person!!')

def Remove():
msg = input('which person would want to delete(by name)?\n')
exist = False #是否存在此人
for index,item in enumerate(data):
if item['name'] == msg:
printdata(item)
exist = True
while True:
info = input('is this person?(Y/N)\n')
if info in "Yy":
del(data[index])
print('Delete Success!')
break
elif info in 'Nn':
break
else:
print('please input correct inseruction')
if not exist:
print('no such person!!')
def Show():
for item in data:
printdata(item)
def List():#自己实现其他的功能
pass
def other():
pass
def save():
fp = open(filename,'wb') #存好数据
pickle.mp(data,fp)
def load():
try:
fp = open(filename,'rb')
return pickle.load(fp)
except:
return []
def printdata(item):
print('name:' + item['name'] + '||' + 'company:' + item['company'] + '||'
+ 'state:' + item['state'] + '||' + 'email' + item['email'] + '\n')
if __name__ == '__main__':
main()

Ⅹ 批处理 判断一个文件夹是否存在,不存在则创建,求大神指导。。谢谢

用IF NOT EXIST "G:\%DATE:~0,10%tst" MD "G:\%DATE:~0,10%tst"

例如:

IF EXIST C:DATE (

del filename.

) ELSE (

echo filename. missing.

)

(10)pythonifnotexist扩展阅读:

注意事项

@echo off

@title 批处理判断文件夹是否存在

if exist folder1 (

echo "已经存在文件夹"

) else (

md folder1

)

if not exist folder2 md folder2

pause

命令中首先判断当前目录中是否存在folder1,如果存在,打印“已经存在文件夹”如果不存在就用md命令建立文件夹。

热点内容
android文件图片 发布:2025-01-15 17:39:44 浏览:205
linux的路径怎么写 发布:2025-01-15 17:18:49 浏览:185
php解压程序 发布:2025-01-15 17:06:22 浏览:142
刷助力脚本 发布:2025-01-15 17:02:31 浏览:520
c盘里的用户文件夹可以删除 发布:2025-01-15 16:56:45 浏览:951
虚幻4编译到哪里 发布:2025-01-15 16:50:19 浏览:756
透明度渐变android 发布:2025-01-15 16:45:08 浏览:835
dos连接oracle数据库 发布:2025-01-15 16:41:39 浏览:906
网络配置比较低怎么做 发布:2025-01-15 16:35:38 浏览:362
android弹出键盘监听 发布:2025-01-15 16:35:11 浏览:208