def sourcecpy(src, des):
src = os.path.normpath(src)
des = os.path.normpath(des)
if not os.path.exists(src) or not os.path.exists(src):
print("folder is not exist")
sys.exit(1)
# ?????????????????????????
os.chdir(src)
src_file = [os.path.join(src, file) for file in os.listdir()]
for source in src_file:
# ????
if os.path.isfile(source):
shutil.copy(source, des) # ????????????????
# ????
if os.path.isdir(source):
p, src_name = os.path.split(source)
des = os.path.join(des, src_name)
shutil.copytree(source, des) # ??????????????????
# ??CLI?????
python类chdir()的实例源码
def shell(cmd):
"""Run each line of a shell script; raise an exception if any line returns
a nonzero value.
"""
pin, pout = os.pipe()
proc = sp.Popen('/bin/bash', stdin=sp.PIPE)
for line in cmd.split('\n'):
line = line.strip()
if line.startswith('#'):
print('\033[33m> ' + line + '\033[0m')
else:
print('\033[32m> ' + line + '\033[0m')
if line.startswith('cd '):
os.chdir(line[3:])
proc.stdin.write((line + '\n').encode('utf-8'))
proc.stdin.write(('echo $? 1>&%d\n' % pout).encode('utf-8'))
ret = ""
while not ret.endswith('\n'):
ret += os.read(pin, 1)
ret = int(ret.strip())
if ret != 0:
print("\033[31mLast command returned %d; bailing out.\033[0m" % ret)
sys.exit(-1)
proc.stdin.close()
proc.wait()
def shell(cmd):
"""Run each line of a shell script; raise an exception if any line returns
a nonzero value.
"""
pin, pout = os.pipe()
proc = sp.Popen('/bin/bash', stdin=sp.PIPE)
for line in cmd.split('\n'):
line = line.strip()
if line.startswith('#'):
print('\033[33m> ' + line + '\033[0m')
else:
print('\033[32m> ' + line + '\033[0m')
if line.startswith('cd '):
os.chdir(line[3:])
proc.stdin.write((line + '\n').encode('utf-8'))
proc.stdin.write(('echo $? 1>&%d\n' % pout).encode('utf-8'))
ret = ""
while not ret.endswith('\n'):
ret += os.read(pin, 1)
ret = int(ret.strip())
if ret != 0:
print("\033[31mLast command returned %d; bailing out.\033[0m" % ret)
sys.exit(-1)
proc.stdin.close()
proc.wait()
def Video_AutoInit():
"""This is a function that's called from the c extension code
just before the display module is initialized"""
if MacOS and not MacOS.WMAvailable():
if not sdlmain_osx.WMEnable():
raise ImportError("Can not access the window manager. Use py2app or execute with the pythonw script.")
if not sdlmain_osx.RunningFromBundleWithNSApplication():
try:
default_icon_data = getResource('pygame_icon.tiff').read()
except IOError:
default_icon_data = None
except NotImplementedError:
default_icon_data = None
sdlmain_osx.InstallNSApplication(default_icon_data)
if (os.getcwd() == '/') and len(sys.argv) > 1:
os.chdir(os.path.dirname(sys.argv[0]))
return True
def setUp(self):
if self.datafile is None or self.dataname is None:
return
if not os.path.isfile(self.datafile):
self.old_cwd = None
return
self.old_cwd = os.getcwd()
self.temp_dir = tempfile.mkdtemp()
zip_file, source, target = [None, None, None]
try:
zip_file = zipfile.ZipFile(self.datafile)
for files in zip_file.namelist():
_extract(zip_file, files, self.temp_dir)
finally:
if zip_file:
zip_file.close()
del zip_file
os.chdir(os.path.join(self.temp_dir, self.dataname))
def setUp(self):
self.dir = tempfile.mkdtemp()
setup = os.path.join(self.dir, 'setup.py')
f = open(setup, 'w')
f.write(SETUP_PY)
f.close()
self.old_cwd = os.getcwd()
os.chdir(self.dir)
self.upload_dir = os.path.join(self.dir, 'build')
os.mkdir(self.upload_dir)
# A test document.
f = open(os.path.join(self.upload_dir, 'index.html'), 'w')
f.write("Hello world.")
f.close()
# An empty folder.
os.mkdir(os.path.join(self.upload_dir, 'empty'))
if sys.version >= "2.6":
self.old_base = site.USER_BASE
site.USER_BASE = upload_docs.USER_BASE = tempfile.mkdtemp()
self.old_site = site.USER_SITE
site.USER_SITE = upload_docs.USER_SITE = tempfile.mkdtemp()
def setUp(self):
self.temp_dir = tempfile.mkdtemp()
f = open(os.path.join(self.temp_dir, 'setup.py'), 'w')
f.write(SETUP_PY)
f.close()
# Set up the rest of the test package
test_pkg = os.path.join(self.temp_dir, 'sdist_test')
os.mkdir(test_pkg)
# *.rst was not included in package_data, so c.rst should not be
# automatically added to the manifest when not under version control
for fname in ['__init__.py', 'a.txt', 'b.txt', 'c.rst']:
# Just touch the files; their contents are irrelevant
open(os.path.join(test_pkg, fname), 'w').close()
self.old_cwd = os.getcwd()
os.chdir(self.temp_dir)
def setUp(self):
if sys.version < "2.6" or hasattr(sys, 'real_prefix'):
return
# Directory structure
self.dir = tempfile.mkdtemp()
os.mkdir(os.path.join(self.dir, 'foo'))
# setup.py
setup = os.path.join(self.dir, 'setup.py')
f = open(setup, 'w')
f.write(SETUP_PY)
f.close()
self.old_cwd = os.getcwd()
# foo/__init__.py
init = os.path.join(self.dir, 'foo', '__init__.py')
f = open(init, 'w')
f.write(INIT_PY)
f.close()
os.chdir(self.dir)
self.old_base = site.USER_BASE
site.USER_BASE = tempfile.mkdtemp()
self.old_site = site.USER_SITE
site.USER_SITE = tempfile.mkdtemp()
def notest_develop_with_setup_requires(self):
wanted = ("Could not find suitable distribution for "
"Requirement.parse('I-DONT-EXIST')")
old_dir = os.getcwd()
os.chdir(self.dir)
try:
try:
dist = Distribution({'setup_requires': ['I_DONT_EXIST']})
except DistutilsError:
e = sys.exc_info()[1]
error = str(e)
if error == wanted:
pass
finally:
os.chdir(old_dir)
def chdir(directory):
"""Change the current working directory to a different directory for a code
block and return the previous directory after the block exits. Useful to
run commands from a specificed directory.
:param str directory: The directory path to change to for this context.
"""
cur = os.getcwd()
try:
yield os.chdir(directory)
finally:
os.chdir(cur)
def find_path(text, line, begidx, endidx, \
dir_only=False, files_only=False, exe_only=False,\
py_only=False, uploads=False, all_dir=False):
cur_dir = os.getcwd()
before_arg = line.rfind(" ", 0, begidx)
if before_arg == -1:
return # arg not found
fixed = line[before_arg+1:begidx] # fixed portion of the arg
arg = line[before_arg+1:endidx]
if uploads:
os.chdir(uploads_path)
pattern = arg + '*'
completions = []
for path in glob.glob(pattern):
if dir_only:
if os.path.isdir(path):
path = append_slash_if_dir(path)
completions.append(path.replace(fixed, "", 1))
elif files_only:
if not os.path.isdir(path):
completions.append(path.replace(fixed, "", 1))
elif exe_only:
if not os.path.isdir(path):
if path.endswith('.exe') or path.endswith('.py'):
completions.append(path.replace(fixed, "", 1))
elif py_only:
if not os.path.isdir(path):
if path.endswith('.py'):
completions.append(path.replace(fixed, "", 1))
elif all_dir:
if os.path.isdir(path):
path = append_slash_if_dir(path)
completions.append(path.replace(fixed, "", 1))
os.chdir(cur_dir)
return completions
test_freeze_update_available.py 文件源码
项目:pyupdater-wx-demo
作者: wettenhj
项目源码
文件源码
阅读 36
收藏 0
点赞 0
评论 0
def tearDown(self):
"""
Clean up.
"""
wxupdatedemo.__version__ = self.originalVersion
try:
shutil.rmtree(self.tempDir)
except OSError:
logger.warning("Couldn't remove %s", self.tempDir)
os.chdir(self.initialWorkingDir)
try:
shutil.rmtree(self.fileServerDir)
except OSError:
logger.warning("Couldn't remove %s", self.fileServerDir)
del os.environ['PYUPDATER_FILESERVER_DIR']
del os.environ['WXUPDATEDEMO_TESTING']
del os.environ['WXUPDATEDEMO_TESTING_FROZEN']
del os.environ['WXUPDATEDEMO_TESTING_APP_NAME']
del os.environ['WXUPDATEDEMO_TESTING_COMPANY_NAME']
del os.environ['WXUPDATEDEMO_TESTING_APP_VERSION']
del os.environ['WXUPDATEDEMO_TESTING_PUBLIC_KEY']
if os.path.exists(appdirs.user_data_dir(APP_NAME, COMPANY_NAME)):
try:
shutil.rmtree(appdirs.user_data_dir(APP_NAME, COMPANY_NAME))
except OSError:
logger.warning("Couldn't remove %s",
appdirs.user_data_dir(APP_NAME, COMPANY_NAME))
SublimeArtisan.py 文件源码
项目:SublimeText2-laravel5.2-artisan-cli
作者: Rotron
项目源码
文件源码
阅读 32
收藏 0
点赞 0
评论 0
def run(self, edit):
folder = self.view.window().folders()[0]
os.chdir(folder)
self.view.window().run_command("exec", {
"cmd" : ["php artisan help"],
"shell" : True,
"working_dir" : folder})
SublimeArtisan.py 文件源码
项目:SublimeText2-laravel5.2-artisan-cli
作者: Rotron
项目源码
文件源码
阅读 26
收藏 0
点赞 0
评论 0
def run(self, edit):
folder = self.view.window().folders()[0]
os.chdir(folder)
self.view.window().run_command("exec", {
"cmd" : ["php artisan list"],
"shell" : True,
"working_dir" : folder})
SublimeArtisan.py 文件源码
项目:SublimeText2-laravel5.2-artisan-cli
作者: Rotron
项目源码
文件源码
阅读 35
收藏 0
点赞 0
评论 0
def run(self, edit):
folder = self.view.window().folders()[0]
os.chdir(folder)
self.view.window().run_command("exec", {
"cmd" : ["php artisan up"],
"shell" : True,
"working_dir" : folder})
SublimeArtisan.py 文件源码
项目:SublimeText2-laravel5.2-artisan-cli
作者: Rotron
项目源码
文件源码
阅读 33
收藏 0
点赞 0
评论 0
def run(self, edit):
folder = self.view.window().folders()[0]
os.chdir(folder)
self.view.window().run_command("exec", {
"cmd" : ["php artisan down"],
"shell" : True,
"working_dir" : folder})
SublimeArtisan.py 文件源码
项目:SublimeText2-laravel5.2-artisan-cli
作者: Rotron
项目源码
文件源码
阅读 33
收藏 0
点赞 0
评论 0
def run(self, edit):
folder = self.view.window().folders()[0]
os.chdir(folder)
self.view.window().run_command("exec", {
"cmd" : ["osascript -e 'tell application \"Terminal\" to do script \"php "+folder+"/artisan tinker\"'"],
"shell" : True,
"working_dir" : folder})
SublimeArtisan.py 文件源码
项目:SublimeText2-laravel5.2-artisan-cli
作者: Rotron
项目源码
文件源码
阅读 25
收藏 0
点赞 0
评论 0
def run(self, edit):
folder = self.view.window().folders()[0]
os.chdir(folder)
self.view.window().run_command("exec", {
"cmd" : ["php artisan env"],
"shell" : True,
"working_dir" : folder})
SublimeArtisan.py 文件源码
项目:SublimeText2-laravel5.2-artisan-cli
作者: Rotron
项目源码
文件源码
阅读 27
收藏 0
点赞 0
评论 0
def run(self, edit):
folder = self.view.window().folders()[0]
os.chdir(folder)
self.view.window().run_command("exec", {
"cmd" : ["php artisan"],
"shell" : True,
"working_dir" : folder})
SublimeArtisan.py 文件源码
项目:SublimeText2-laravel5.2-artisan-cli
作者: Rotron
项目源码
文件源码
阅读 31
收藏 0
点赞 0
评论 0
def on_done(self, generate_command):
try:
folder = self.window.folders()[0]
os.chdir(folder)
args = generate_command.split(" ")
cmd = args[0]
print ([cmd, args[0:]])
self.window.run_command("exec", {
"cmd" : ["php /usr/local/bin/composer create-project --prefer-dist laravel/laravel " + cmd],
"shell" : True,
"working_dir" : folder})
except ValueError:
pass