如何在完整路径下加载Python模块?请注意,该文件可以位于文件系统中的任何位置,因为它是一个配置选项.
首先我要提到的是,我是python的新手.
现在我有一个文件位于:
a/long/long/path/to/file.py
Run Code Online (Sandbox Code Playgroud)
我想要创建一个新文件夹复制到我的主目录:
/home/myhome/new_folder
Run Code Online (Sandbox Code Playgroud)
我的预期结果是:
/home/myhome/new_folder/a/long/long/path/to/file.py
Run Code Online (Sandbox Code Playgroud)
有没有现成的图书馆呢?如果不是,我该怎么做?
我在Windows上的非交互式会话中运行python,因此我无法映射网络驱动器.
我在这里和通过谷歌研究的大部分内容都建议映射网络驱动器并以这种方式复制文件.
在Linux上我会用smbmount来促进这个,但不幸的是我正在使用的软件与windows有关.
是否有通过UNC路径与文件交互的选项?
它需要更长的时间至少3次与复制文件shutil.copyfile()与使用Windows资源管理器或Mac的Finder经常右击复制>右键单击粘贴.shutil.copyfile()在Python中有没有更快的替代方案?如何加快文件复制过程?(文件目标位于网络驱动器上......如果它有任何区别......).
以下是我最终得到的结果:
def copyWithSubprocess(cmd):
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
win=mac=False
if sys.platform.startswith("darwin"):mac=True
elif sys.platform.startswith("win"):win=True
cmd=None
if mac: cmd=['cp', source, dest]
elif win: cmd=['xcopy', source, dest, '/K/O/X']
if cmd: copyWithSubprocess(cmd)
Run Code Online (Sandbox Code Playgroud) 是否有在Microsoft Word(docx)文件中添加页眉和页脚的解决方法?
提供的头实现python-docx仍在开发中.
更具体地说,我想补充一下:
在理想的代码如下所示:
from docx import Document
document = Document()
# Add header and footer on all pages
document.save("demo.docx")
Run Code Online (Sandbox Code Playgroud) 如如何在 Python 中复制文件?,有很多文件复制功能:
shutil.copy
shutil.copy2
shutil.copyfile(还有shutil.copyfileobj)
甚至是一种天真的方法:
with open('sourcefile', 'rb') as f, open('destfile', 'wb') as g:
while True:
block = f.read(16*1024*1024) # work by blocks of 16 MB
if not block: # EOF
break
g.write(block)
Run Code Online (Sandbox Code Playgroud)
在所有这些方法中,哪些方法在复制中断的情况下是安全的(例如:杀死 Python 进程)?列表中的最后一个看起来不错。
安全我的意思是:如果一个 1 GB 的文件复制没有 100% 完成(假设它在复制过程中被中断,在 400MB 之后),文件大小不应在文件系统中报告为1GB,它应该:
最糟糕的是,最终的文件大小为先写(内部与fallocate或ftruncate?)。如果复制被中断,这将是一个问题:通过查看文件大小,我们会认为文件被正确写入。
许多增量备份程序(我正在编写一个)使用“filename+mtime+fsize”来检查文件是否必须被复制或者它是否已经存在(当然更好的解决方案是 SHA256 源文件和目标文件,但这不是每次同步都完成,太耗时;这里偏离主题)。
所以我想确保fsize在复制实际文件内容之前,“复制文件”功能不会立即存储最终文件大小(然后它可能会欺骗比较)。
注意:我问这个问题是因为,虽然shutil.filecopy在 Python 3.7 及以下版本上相当直接,请参阅源代码(或多或少是上面的幼稚方法),但在 Python …
我有一个存储在变量(例如)filePath中的文件的路径.我想将该特定文件复制到Python脚本中的另一个特定文件夹中.
我试过了
folderPath = (os.getcwd() + "/folder_name/") #to get the path of the folder
shutil.copyfile(filePath, folderPath)
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误 IOError: [Errno 21] Is a directory.
我怎么解决这个问题?
我的问题似乎与如何在python中复制文件有关? .但实际上,我想将文件复制到文件夹/目录,而大多数答案都提到将一个文件复制到另一个文件.
解决了以下我的答案,对于任何可能觉得有用的人.
我有两个脚本a.py和b.py. 在我当前的目录"C:\ Users\MyName\Desktop\MAIN"中,我运行> python a.py.
第一个脚本a.py在我当前的目录中运行,对一堆文件执行某些操作,并使用这些文件的编辑版本创建一个新目录(testA),这些文件同时移动到该新目录中.然后我需要为testA中的文件运行b.py.
作为一个初学者,我只是将我的b.py脚本复制并粘贴到testA中并再次执行命令"> python b.py",它在这些新文件上运行一些命令并创建另一个包含这些编辑文件的文件夹(testB).
我试图消除等待a.py完成的麻烦,移动到新目录,粘贴b.py,然后运行b.py. 我正在尝试编写一个执行这些脚本的bash脚本,同时维护我的目录层次结构.
#!/usr/bin/env bash
python a.py && python b.py
Run Code Online (Sandbox Code Playgroud)
脚本a.py运行顺利,但b.py根本不执行.没有关于b.py失败的错误消息,我只是认为它无法执行,因为一旦完成a.py,该新目录中就不存在b.py. 我可以在b.py中添加一个小脚本,将其移动到新目录中吗?我实际上尝试过更改b.py目录路径,但它不起作用.
例如在b.py中:
mydir = os.getcwd() # would be the same path as a.py
mydir_new = os.chdir(mydir+"\\testA")
Run Code Online (Sandbox Code Playgroud)
我在b.py中的所有实例中都将mydirs更改为mydir_new,但这也没有区别......我也不知道如何将脚本移动到bash中的新目录中.
作为文件夹的一个小流程图:
MAIN # main folder with unedited files and both a.py and b.py scripts
|
| (execute a.py)
|
--------testA # first folder created with first edits of files
|
| (execute b.py)
|
--------------testB # final folder created with final edits …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Julia函数复制文件,以期处理该文件,然后将该复制的版本用于Julia编程语言中的各种任务。有人可以提供一些在Julia中复制文件的示例代码吗?
我想read那时我可以使用,write但似乎我会重新发明轮子。有标准的库函数吗?
灵感来自这个问题。
python ×8
file ×4
copy ×3
file-copying ×2
filesystems ×2
bash ×1
directory ×1
file-io ×1
footer ×1
header ×1
io ×1
julia ×1
ms-access ×1
networking ×1
python-2.7 ×1
python-3.x ×1
python-docx ×1
shutil ×1
unc ×1