python跨文件
A. python把一个文件夹下的所有东西复制到另一个文件夹下
fromshutilimport
importos
importre
dest_dir=raw_input('Pleaseenterdestinationpath:(splitpathwith"/")')
source_dir=raw_input('Pleaseentersourcepath:(splitpathwith"/")')
ifnotdest_dir.endswith('/'):
dest_dir+='/'
ifnotsource_dir.endswith('/'):
source_dir+='/'
ifos.path.isdir(dest_dir)andos.path.isdir(source_dir):
forroot,dirs,filesinos.walk(source_dir):
foriinxrange(0,files.__len__()):
sf=os.path.join(root,files[i])
dst=re.sub('([A-Za-z]:/.*?)/',dest_dir,root)
ifnotos.path.exists(dst):
os.makedirs(dst)
(sf,dst)
print'Done!'
else:
raiseException('Wrongpathentered!')
raw_input()
B. python如何调用另一个py文件的所有函数
在同一个文件夹下
调用函数:
A.py文件:
C. python实现跨文件全局变量的方法
python实现跨文件全局变量的方法
在使用Python编写的应用的过程中,有时候会遇到多个文件之间传递同一个全局变量的情况。本文就此给出了如下的解决方法供大家参考。
文件1:globalvar.py
#!/usr/bin/env python2.7
class GlobalVar:
db_handle = None
mq_client = None
def set_db_handle(db):
GlobalVar.db_handle = db
def get_db_handle():
return GlobalVar.db_handle
def set_mq_client(mq_cli):
GlobalVar.mq_client = mq_cli
def get_mq_client():
return GlobalVar.mq_client
文件2:set.py
import globalvar as GlobalVar
def set():
GlobalVar.set_mq_client(10)
print "------set mq_client in set.py------mq_client: " + str(GlobalVar.get_mq_client())
文件3:get.py
#!/usr/bin/env python2.7
import globalvar as GlobalVar
def get():
print "------get mq_client in get.py------mq_client: " + str(GlobalVar.get_mq_client())
文件4:main.py
#!/usr/bin/env python2.7
import set
import get
set.set()
get.get()
其中globalvar.py中定义了两个全局变量,在set.py中的set函数中对其进行赋值,在get.py文件中的get函数取值并打印。main.py函数作为应用入口,调用set和get。
这样就可以看到一个完整的应用中,全局变量的跨文件使用。
D. python 怎么将输入目录内的文件拷贝至另一个目录的同名文件夹
这是最近写的一个类似代码,你拿去改改
import shutil
import os
import logging
import sys
logger = logging.getLogger(__name__)
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
def cp_or_mv2(src_file, des_dir, is_):
print(src_file, des_dir)
if os.path.isfile(src_file):
logger.info(f'from file {src_file}')
if is_:
shutil.2(src_file, des_dir)
logger.info(f' to {des_dir}')
else:
des_file = os.path.join(des_dir, src_file)
shutil.move(src_file, des_file)
logger.info(f'move to {des_file}')
else:
logger.info(f'from dir {src_file}')
des_dir_level1 = os.path.join(des_dir, src_file)
shutil.tree(src_file, des_dir_level1, dirs_exist_ok=True)
logger.info(f'to {des_dir_level1}')
if not is_:
shutil.rmtree(src_file)
logger.info(f'deleted {src_file}')
def process_files_in_txt(txt_file, src_dir, des_dir, is_=True):
os.chdir(src_dir)
with open(txt_file, 'r', encoding='utf8', errors='ignore') as f:
for line in f.readlines():
src_file = line.strip()
# logger.info(src_file)
if os.path.exists(src_file):
cp_or_mv2(src_file, des_dir, is_)
else:
logger.warning(f'{src_file} missing!')
if __name__ == '__main__':
process_files_in_txt(r"D:\D\需要拷贝.txt", # 哪些文件(夹)
r"D:\D\Desktop", # 从哪个文件夹
r"D:\D\新建文件夹", # 到哪个文件夹
is_=False) # True复制,False剪切
E. python py文件中执行另一个py文件
方法一、
import os
os.system("python filename.py")
方法二:
execfile('xx.py'),括号内为py文件路径;
注:如果需要传参数,就用os.system()那种方法;如果还想获得这个文件的输出,那就得用os.popen();
(5)python跨文件扩展阅读:
Python入门命令行怎么调用.py文件中容易出现的问题
1、如果文件路径是这样的:C:Userssd est.py,那么在命令行状态下输入:
C:Userssd> python test.py
2、如果是交互式输入状态(>>>←有三个这种折就是交互式状态),需要输入:>>> exit()
就会变回命令行状态。
3、如果文件路径是:D: est.py ,那么在命令行状态下输入:
C:Userssd> python D: est.py
4、还可以用“cd 文件夹名字”进入新的当年文件夹。
F. 如何使用python代码,从当前文件夹一个文件里复制字符到另一个文件夹下的同名文件里,文件有多个!
importos
importre
reg=re.compile("指定内容正则表达式")
source="一个文件夹路径"
target="另一个文件夹路径"
forfilenameinos.listdir(source):
fullname=os.path.join(source,filename)
targetfile=os.path.join(target,filename)
ifos.path.isfile(fullname)andos.path.splitext(filename)[1].lower()==".txt":
text=reg.search(open(fullname).read()).group(0)
open(targetfile,'w').write(text)
G. 求助一下,python如何调用另一个py文件
这不就相当于引用自定义的模块吗,使用import导入
例如A.py
def draw(p){
....
}
在B.py中引用draw,假设A,B文件同目录
from A import draw
draw(param)