使用python创建文件和文件夹

时间:2017-12-01 18:18:39

标签: python

我是python的新手,我正在尝试创建一个文件,将当前脚本移动到该文件并运行它但我一直遇到同样的问题,它会创建一个文件夹,移动文件但是当我打开脚本,它创建一个新文件夹并移动文件。所以你最终得到的文件目录为:'C:somefile \ someotherfile \ newfile \ newfile \ newfile \ script.py'
请帮忙!
代码:

import os
curpath = ('.\\Test.py')
print(curpath)
newpath = ('.\\Example Folder\\')
if not os.path.exists(newpath) and curpath != ('..\\Example Folder\\Test.py'):
    os.makedirs(newpath)
    abspath=os.path.abspath(curpath)
    print(abspath)
    os.rename(abspath, newpath + 'Test.py')

编辑: 当给出的答案不起作用时,我花了2天时间尝试自己解决这个问题(以及在我发布之前尝试的那天)。我终于找到了答案!

import os
curpath = __file__.lower()
abspath=os.path.abspath(curpath)
newpath = ('.\\example folder\\')
notpath = '..\\example folder\\'
if not os.path.exists(newpath) and not os.path.exists(notpath):
    os.makedirs(newpath)
    os.rename(abspath, '.\\example folder\\test.py')

2 个答案:

答案 0 :(得分:1)

let text = "Hello World" let textRange = NSMakeRange(0, text.count) let attributedText = NSMutableAttributedString(string: text) attributedText.addAttribute(NSAttributedStringKey.strikethroughStyle, value: NSUnderlineStyle.styleSingle.rawValue, range: textRange) myLabel.attributedText = attributedText 将始终评估为true,因为curpath != ('..\\Example Folder\\Test.py')设置为curpath且永远不会更改。这些是字符串,而不是文件位置,因此curpath = ('.\\Test.py')永远不会等于'.\\Test.py'

你应该做的是:

'C:\\<enter abs filepath>\\Test.py'替换为curpath = ('.\\Test.py')

并替换

curpath = __file__.lower()

if not os.path.exists(newpath) and curpath != ('..\\Example Folder\\Test.py'):

希望这有帮助!

答案 1 :(得分:0)

  

curpath!=(&#39; .. \ Example Folder \ Test.py&#39;)将始终评估为   是的,因为curpath被设置为curpath =(&#39;。\ Test.py&#39;)并且永远不会   改变。这些是字符串,而不是文件位置,因此&#39;。\ Test.py&#39;将   永远不等于C:\\ Test.py&#39;

     

你应该做的是:

     

用curpath = 文件替换curpath =(&#39;。\ Test.py&#39;) .lower()

     

并替换

     

如果不是os.path.exists(newpath)和curpath!=(&#39; .. \例如   Folder \ Test.py&#39;):带

     

如果不是os.path.exists(newpath)和curpath!=&#39; c:\\ example folder \ test.py&#39; .lower():

表示&#34; c:\(输入完整的abs路径)&#34;我可以这样做:

path='.'
abpath=os.path.abspath(path)
and curpath != abpath + '\\example folder\test.py'.lower():

如果没有那么idk如何做idk我怎么会得到完整的abs路径因为有人可以在文档中拥有它而其他人可以在下载中获得它